linux,shell脚本语言,if else语句,for语句,while语句以及无限循环

it2022-07-05  186

if else

if

if语句语法格式:

if condition then     command1     command2     ...     commandN fi

写成一行(适用于终端命令提示符):

if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

末尾的fi就是if倒过来拼写,后面还会类似的

if else

if else语法格式:

if condition then     command1     command2     ...     commandN else     command fi

if else-if else

if else-if else 语法格式:

if condition1

then

       command1

elif condition2

then

       command2

else

command

fi

实例:

if else 语句经常与test命令结合使用,如下所示:

num1=$[2*3]

num2=$[1+5]

if test $[num1] -eq $[num2]

then

echo ‘两个数字相等!’

else

       echo ‘两个数字不相等!’

fi

输出结果:

两个数字相等!

for 循环

与其它编程语言类似,shell支持for循环

for循环一般格式为:

for var in item1 item2 …itemN

do

       command1

       command2

       …

       commandN

done

写成一行:for var in item1 item2 … itemNdo command1;command2;… done;

当变量值在列表里,for循环即执行一次所有的命令,使用变量名获取列表中的当前值。命令可为任何有效的shell命令和语句。in列表可以包含替换、字符串和文件名。

in列表是可选的,如果不用他,for循环使用命令行的位置参数。

实例:

输出结果:

顺序输出字符串中的字符:

输出结果:

 

while 语句

while循环用于不断执行一系列命令,也用于从输入文件中读取数据:命令通常为测试条件。其格式为:

while condition

do

       command

done

以下是一个基本的while循环,测试条件是:如果int小于等于5,那么条件返回真。int从0开始,每次循环处理时,int加1.运行上述脚本,返回数字1到5,然后停止。

运行脚本,输出:

使用了Bash let命令,它用于执行一个或多个表达式,变量计算中不需要加上$来表示变量,具体可查阅:Bash let命令

while循环可用于读取键盘信息。下面的例子中,输入信息被设置为变量FIM,按<Ctrl-D>

结束循环。

运行脚本,输出如下:

无限循环

无限循环语法格式

while

do

       command

done

或者

while true

do

       command

done

或者

for ((  ;   ; ))


最新回复(0)