1. 程式人生 > >shell學習(三)

shell學習(三)

done localhost $0 ash strong nbsp $2 pan value

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

shell學習(三)