shell 脚本3 (输出与流程控制)

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

 

简单的小游戏

 

原文地址:https://www.cnblogs.com/wbf980728/p/13941808.html