您的位置:首页 > 运维架构 > Shell

shell 脚本之if、for、while语句

2015-12-22 17:31 846 查看
(1)if语句

root@ubuntu:/mnt/shared/shellbox/shellif# cat shellif.sh
#!/bin/bash

#推断字符串
if [ "$1" = "hello" ]
then
echo "\$1=$1"
fi

#推断数字,if()方式仅仅能在bash下用,在sh下不行
if ((  $1 > 20 ))
then
echo "\$1: $1 > 20"
elif (( $1 == 20 ))
then
echo "\$1 == 20"
elif (( $1 < 20 ))
then
echo "\$1 < 20"
fi

#方括号推断语句
if [ $1 -lt 20 ]
then
echo "\$1 < 20"
elif [ $1 -ge 20 -a $1 -le 30 ]
then
echo "\$1 >= 20 && \$1 <= 30 "
elif [ $1 -gt 30 ]
then
echo "\$1 > 30"
fi


运行结果:

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 10

$1 < 20

$1 < 20

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 20

$1 == 20

$1 >= 20 && $1 <= 30

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 30

$1: 30 > 20

$1 >= 20 && $1 <= 30

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 40

$1: 40 > 20

$1 > 30

(2)for语句

root@ubuntu:/mnt/shared/shellbox/shellfor# cat shellfor.sh
#!/bin/bash

for i in $*
do
echo $i
done

for char in {a..c}
do
echo $char
done

for int in {1..3}
do
echo $int
done


运行结果:

root@ubuntu:/mnt/shared/shellbox/shellfor# ./shellfor.sh

a

b

c

1

2

3

(3)while语句:

root@ubuntu:/mnt/shared/shellbox/shellwhile# cat shellwhile.sh
#!/bin/bash

#注意: (( ))这样的方式仅仅能在bash中使用,而不能在sh中使用
i=0
while (( i < $1 ))
do
echo "i=$i"
let i+=1
done

#赋值时"="前后不能有空格
num=0
while [[ $num != $1 ]]
do
echo "num=$num, num != \$1"
let num+=1
done

while true
do
echo "here in while true ..."
sleep 2
done
运行结果:

root@ubuntu:/mnt/shared/shellbox/shellwhile# ./shellwhile.sh 5

i=0

i=1

i=2

i=3

i=4

num=0, num != $1

num=1, num != $1

num=2, num != $1

num=3, num != $1

num=4, num != $1

here in while true ...

here in while true ...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: