1.Shell echo命令
(1)Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出
#!/bin/bash #Shell echo #显示普通字符串 echo "It is a test" echo It is a test #显示转义字符 echo ""It is a test"" #显示变量 read name echo "$name It is a test" #显示换行 echo -e "OK! " #-e 开启转义 echo "It is a test" #显示不换行 echo -e "OK! c" #-e 开启转义 c 不换行 echo "It is a test" #显示结果定向至文件 echo "It is a test" > myfile #原样输出字符串,不进行转义或取变量(用单引号) echo '$name"' #显示命令执行结果 echo `date`
运行结果:
***read命令:一个一个词组地接收输入的参数,每个词组需要使用空格进行分隔;如果输入的词组个数大于需要的参数个数,则多出的词组将被作为整体为最后一个参数接收;
read命令:从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY
参数说明:
- -p 输入提示文字
- -n 输入字符长度限制(达到6位,自动结束)
- -t 输入限时
- -s 隐藏输入内容
read命令实例:
#!/bin/bash read -p "请输入一段文字:" -n 6 -t 5 -s password echo " password is $password"
运行结果:
2.Shell printf命令:
#shell printf echo "Hello,shell" printf "Hello,shell " printf "%-10s %-8s %-4s " 姓名 性别 体重kg printf "%-10s %-8s %-4.2f " 郭靖 男 66.1234 printf "%-10s %-8s %-4.2f " 杨过 男 48.6543 printf "%-10s %-8s %-4.2f " 郭芙 女 47.9876 #%s %c %d %f都是格式替代符 #%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示>在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。 #%-4.2f 指格式化为小数,其中.2指保留2位小数 #format-string为双引号 printf "%d %s " 1 "abc" #单引号与双引号效果一样 printf '%d %s ' 1 "abc" #没有引号也可以输出 printf %s abcdef #格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用 printf %s abc def printf "%s " abc def printf "%s %s %s " a b c d e f g h i j #如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替 printf "%s and %d "
运行结果:
3.printf的转义序列:
printf的转义序列实例:
printf "a string,no processing:<%s> " "A B" printf "a string,no processing:<%b> " "A B" printf "www.cnblog.com a"
运行结果:
4.Shell test命令:test命令用于检查某个条件是否成立,它可以进行数值,字符和文件三个方面的测试
(1)数值测试
数值测试实例:
num1=100 num2=200 if test $[num1] -eq $[num2] then echo '两个数相等!' else echo '两个数不相等!' fi a=5 b=6 result=`expr $a + $b` echo "result 为: $result"
运算结果:
(2)字符串测试:
字符串测试实例:
num1="ru1noob" num2="runoob" if test $num1 = $num2 then echo "两个字符串相等!" else echo "两个字符串不相等!" fi
运行结果:
(3)文件测试:
文件测试实例:
cd /bin if test -e ./bash then echo '文件已存在!' else echo '文件不存在!' fi
运行结果:
Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低
cd /bin if test -e ./notFile -o -e ./bash then echo '至少有一个文件存在!' else echo '两个文件都不存在' fi
运行结果: