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
腳本的第二個參數為: 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
執行結果
[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
shell學習(三)