shell学习(三)

1、位置变量

脚本:

[root@localhost sh]# cat /opt/sh/test1.sh
#/bin/bash
echo "你执行的脚本名称及路径为: "$0
echo "脚本的第一个参数为: "$1
echo "脚本的第二个参数为: "$2
echo "脚本的第三个参数为: "$3
echo "脚本的第四个参数为: "$4
echo "脚本的第五个参数为: "$5
echo "脚本的参数个数为 : "$#
echo "脚本的五个参数分别为: "$@

执行结果

[root@localhost sh]# /opt/sh/test1.sh 1 2 3 4 5 6 7 8
你执行的脚本名称及路径为: /opt/sh/test1.sh
脚本的第一个参数为: 1
脚本的第二个参数为: 2
脚本的第三个参数为: 3
脚本的第四个参数为: 4
脚本的第五个参数为: 5
脚本的参数个数为 : 8
脚本的五个参数分别为: 1 2 3 4 5 6 7 8

2、if语句

脚本:

[root@localhost sh]# cat test2.sh
#!/bin/bash
a=$1

if [ $a -eq 0 ];then

echo "a is 0"

elif [ $a -eq 1 ];then
echo "a is 1"

elif [ $a -eq 2 ];then
echo "a is 2"
else
echo "a is not b"

fi

执行结果

[root@localhost sh]# ./test2.sh 0
a is 0
[root@localhost sh]#
[root@localhost sh]# ./test2.sh 1
a is 1
[root@localhost sh]# ./test2.sh 2
a is 2
[root@localhost sh]# ./test2.sh 3
a is not b

3、while循环

脚本

[root@localhost sh]# cat test3.sh
#!/bin/bash

i=0
while [ $i -ne 10 ]
do
i=$(($i+1))

echo $i
done

 

执行结果

[root@localhost sh]# ./test3.sh
1
2
3
4
5
6
7
8
9
10

4、for循环

用法一:

#!/bin/bash  

for((i=1;i<=10;i++));  

do   

      echo $(expr $i \* 3 + 1);  

done  

用法二:

#!/bin/bash  

for i in $(seq 1 10)  

do   

echo $(expr $i \* 3 + 1);  

done  

posted @ 2018-04-13 15:12  凉生墨客  阅读(107)  评论(0编辑  收藏  举报