Shell echo命令

Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出,默认自动添加换行符。

echo命令的语法:


echo string
 
echo -e "OK! \c" # -e 开启转义 \c 不换行 \n换行

Shell printf 命令

printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认 printf 不自动添加换行符。

printf 命令的语法:


printf  format-string  [arguments...]


参数说明:

  • format-string: 为格式控制字符串
  • arguments: 为参数列表。

%d %s %c %f 格式替代符详解:

d: Decimal 十进制整数 -- 对应位置参数必须是十进制整数,否则报错!

s: String 字符串 -- 对应位置参数必须是字符串或者字符型,否则报错!%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

c: Char 字符 -- 对应位置参数必须是字符串或者字符型,否则报错!对于字符串参数,%c 自动截取字符串的第一个字符作为结果输出

f: Float 浮点 -- 对应位置参数必须是数字型,否则报错!%-4.2f 指格式化为小数,其中.2指保留2位小数。

如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替

Shell test 命令

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。


数值测试

参数

说明

-eq

等于则为真

-ne

不等于则为真

-gt

大于则为真

-ge

大于等于则为真

-lt

小于则为真

-le

小于等于则为真

eg:test $[num1] -eq $[num2]

字符串测试

参数

说明

=

等于则为真

!=

不相等则为真

-z 字符串

字符串的长度为零则为真

-n 字符串

字符串的长度不为零则为真

eg:test $num1 = $num2


文件测试

参数

说明

-e 文件名

如果文件存在则为真

-r 文件名

如果文件存在且可读则为真

-w 文件名

如果文件存在且可写则为真

-x 文件名

如果文件存在且可执行则为真

-s 文件名

如果文件存在且至少有一个字符则为真

-d 文件名

如果文件存在且为目录则为真

-f 文件名

如果文件存在且为普通文件则为真

-c 文件名

如果文件存在且为字符型特殊文件则为真

-b 文件名

如果文件存在且为块特殊文件则为真

eg:test -e ./bash