Shell笔记二

Shell 专栏收录该内容
3 篇文章 0 订阅

Shell笔记二

内容来自:

流程控制

[]方括号

方括号的一些用法可参考:

Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试:

  • 算术比较, 比如一个变量是否为0, [ $var -eq 0 ]
  • 文件属性测试,比如一个文件是否存在,[ -e $var ], 是否是目录,[ -d $var ]
  • 字符串比较, 比如两个字符串是否相同, [[ $var1 = $var2 ]]

[] 常常可以使用 test 命令来代替

if

语法一般是是:

if [ expression ]
then
   Statement(s) to be executed if expression is true
fi

如下的例子:

#!/bin/bash

a=10
b=20

if [ $a == $b ]
then
	echo "a is equal to b"
fi

if [ $a != $b ]
then
	echo "a is not equal to b"
fi

其它的如 if … else … fi 语句

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
   echo "a is equal to b"
else
   echo "a is not equal to b"
fi

if … elif … fi 语句

#!/bin/sh
a=10
b=20
if [ $a == $b ]
then
   echo "a is equal to b"
elif [ $a -gt $b ]
then
   echo "a is greater than b"
elif [ $a -lt $b ]
then
   echo "a is less than b"
else
   echo "None of the condition met"
fi

test

test 命令用于检查某个条件是否成立,可以进行数值、字符和文件三个方面的测试
参考:

case esac语句

case语句格式:

casein
模式1)
    command1
    command2
    command3
    ;;
模式2)
    command1
    command2
    command3
    ;;
*)
    command1
    command2
    command3
    ;;
esac
  • ;; - 类似于其它语言中的break

如下的例子:

#!/bin/bash

echo 'Input a number between 1 to 4'
echo 'Your number is:\c'
read aNum
case $aNum in
    1)  echo 'You select 1'
    ;;
    2)  echo 'You select 2'
    ;;
    3)  echo 'You select 3'
    ;;
    4)  echo 'You select 4'
    ;;
    *)  echo 'You do not select a number between 1 to 4'
    ;;
esac

for循环

for循环的一般格式为:

for 变量 in 列表
do
    command1
    command2
    ...
    commandN
done

如下的例子:

#!/bin/bash

for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done

输出结果为:
for循环

while循环

while的语法格式为:

while command
do
   Statement(s) to be executed if command is true
done

如下的例子,如果COUNTER小于5,那么返回 trueCOUNTER0开始,每次循环处理时,COUNTER1

#!/bin/bash

COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER=`expr $COUNTER + 1`
    echo $COUNTER
done

until循环

until 循环执行一系列命令直至条件为 true 时停止

until command
do
   Statement(s) to be executed until command is true
done

command 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。

例如,使用 until 命令输出 0 ~ 9 的数字

#!/bin/bash

a=0
until [ ! $a -lt 10 ]
do
   echo $a
   a=`expr $a + 1`
done
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值