printf命令 Shell 的另一个输出命令
printf “格式控制字符format-string” “输出的内容arguments”
参数说明:
- format-string: 为格式控制字符串
- arguments: 为参数列表。
格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替
%s %c %d %f都是格式替代符
%-10s 指一个宽度为 10 个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
%-4.2f 指格式化为小数,其中 .2 指保留 2 位小数。
%d 十进制整数
%c ASCLL字符
printf的转义序列
换行
回车
f 换页
水平制表
c 不换行
\ 一个字面上的 字符
test命令
数值测试
字符串测试
文件测试
Shell还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o"最低。
流程控制
if 语句
if [条件]
then
条件正确时执行
else
条件不正确时执行
fi
if 条件
then
条件正确执行
elif 新条件
新条件正确执行
else
新条件错误执行
fi
末尾的fi就是if倒过来拼写 表示if语句结束
for 语句
for 变量 in 变量值
do
执行的命令
done
当变量值在列表里,for循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的shell命令和语句。in列表可以包含替换、字符串和文件名。
while命令
while 条件
do
执行命令
done
无限循环
while :
do
command
done
或者
while true
do
command
done
或者
for (( ; ; ))
break 命令 跳出循环
continue 命令
continue命令与break命令类似
until 命令
until循环执行一系列命令直至条件为真时停止。
until循环与while循环在处理方式上刚好相反。
一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。
case 命令 case语句为多选择语句
case 值 in
模式1)
执行命令
;;
模式2)
执行命令
;;
esac
简单的小游戏