结构化命令

Posted 白宫飘红旗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构化命令相关的知识,希望对你有一定的参考价值。

  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

 

以上是关于结构化命令的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程