结构化命令

  shell按照出现的次序来处理shell脚本中的每个单独命令。

if-then语句

if command
then
    commands
fi

bash shell的if语句会运行if行定义的那个命令。如果该命令的退出状态码是0,位于then部分的命令就会被执行。

如果该命令的退出状态码是其他什么值,那then部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令。

#!/bin/bash
if asdfg
then
    echo "it did not worked"
fi
echo "we are outside of the if statement"

在then部分,你可以用多个命令。

#!/bin/bash
testuser=liuxj
if grep $testuser /etc/passwd
#if asdfg
then
    #echo "it did not worked"
    echo The bash files for user $testuser are:
    ls -a /home/$testuser/.b*
fi

if-then-else语句

if command
then
    commands
else
    commands
fi

当if语句中的命令返回退出状态码0时,then部分中的命令会被执行,当if语句中的命令返回非零退出状态码时,bash shell会执行else部分中的命令。

嵌套if

elif会通过另一个if-then语句来延续else部分:

if command1
then
    commands
elif    command2
then
    more commands
fi

elif语句行提供了另外一个要测试的命令,类似于原始的if语句。如果elif后命令的退出状态码是0,则bash会执行第二个then语句部分的命令。

注意:你可以将多个elif语句串起来,形成一个大的if-then-elif嵌套组合。

if command1
then
    command set 1
elif command2
then
    command set 2
elif command3
then
    command set 3
elif command4
then
    command    set 4
fi
时间: 2024-10-24 16:25:41

结构化命令的相关文章

第八章 shell学习之循环和结构化命令

for循环 1. 列表for循环 for variable in {list}  #有些像C++/CLR中的for each do ... done 如: 1. [[email protected] tmp]# cat b.sh #! /bin/bash for i in 1 2 3 4 5      #1 2 3 4 5等价于{1..5} do echo $i done [[email protected] tmp]# ./b.sh 1 2 3 4 5 2. [[email protected

Linux Shell脚本编写——使用结构化命令(二)

结构化命令中,最基本的类型就是if-then语句 if command then command fi bash shell的if语句会执行if行定义的那个命令,如果命令的退出状态码是0,则代表成功执行,位于then部分的命令就会执行.如果if行定义的命令的退出状态码是其他,则then部分的命令将不会执行,且if-then语句不能测试跟命令的退出状态码无关的条件 代码2-1 [email protected]:/data# cat demo1 #!/bin/bash if date then e

linux shell脚本使用结构化命令

内容: 一.if-then命令 二.if-then-else命令 三.test命令 四.case命令 1.if-then结构化命令中最基本的类型,其格式如下: 1 if command 2 then 3 commands 4 fi 这里需要注意的是在其他语言中if 语句之后的对象是一个等式来测试是TRUE还是FALSE值,而在bash shell中if 语句会运行if 行定义那个命令.如果该命令退出码是数字0,则表示该命令运行成功,位于then 后面的命令就会运行.如果退出码是其他值,那么the

[Linux] 结构化命令 if

语法结构如下: 1. if-then语句 # if-then语句 if command #根据conmmand的退出状态码,选择执行语句 then commands fi e.g. #!usr/bin/bash testuser=rich if grep $testuser /etc/passwd then echo The bash files for user $testuser are: ls -a /home/$testuser/ fi 2. if-then-else语句 1 #!usr

shell脚本编程-结构化命令2-for命令

1.for命令 (1)语法 for val in list; do commands done  list参数提供了一些列用于迭代的值,val值依次赋值为list中的值,知道list轮询结束. commands可以是一条或多条shell命令,echo $val可以查看当前循环的值 (2)读取列表中的值 $cat test #!/bin/bash # basic for command for test in A B C; do echo the next val is $test done $.

shell脚本编程-使用结构化命令(if/else)(转)

11.1 使用if-then语句 格式如下 if语句会执行if行定义的那个命令,如果该命令的退出状态码是0,则then部分的语句就会执行,其他值,则不会 1 2 3 4 if command then commands fi 在要执行的命令结尾加个分号,就能在同一行使用then语句了,格式如下 1 2 3 if command; then commands fi 11.2 if-then-else语句 格式如下: 1 2 3 4 5 6 if command then commands else

Linux Shell脚本编写——使用结构化命令(四)

命令行参数 向shell脚本传数据的最基本方法是使用命令行参数,命令行参数允许在运行脚本时向命令行添加数据值 读取参数 bash shell会将一些称为位置参数的特殊变量分配给命令行输入的所有参数,甚至包括shell执行的程序的名字,$0是程序名,$1是第一个参数,$2是第二个参数 代码4-1 [email protected]:/data# cat demo1 #!/bin/bash factorial=1 for ((i=1;i<=$1;i++)) do factorial=$[ $fact

linux shell脚本使用结构化命令(2)

一.for命令 二.while命令 三.until命令 1.for命令基本格式 1 for var in list 2 do 3 commands 4 done 1 [email protected]:~/testshell> cat fortest.sh 2 #!/bin/bash 3 #test for command 4 5 for city in beijing shanghai shenzhen dalian 6 do 7 echo the city is $city 8 done 9

shell脚本编程-结构化命令1

1.分支语句 (1)if-then-fi 语句: 格式: if command; then commands fi 当command命令的退出状态码为$?=0时,进入分支,否则继续执行后面的命令. (2) if-then-else-fi 语句: 格式: if command; then commands1 else commands2 fi 当command命令的退出状态码为$?=0时,进入then分支,否则执行else分支命令. (3)if-then-elif-then-fi 语句: 格式: