Linux Shell(一):創建腳本,變量、字符串、數組、輸入輸出

0.創建一個Shell腳本:

vim abc.sh

 

1.首行聲明所使用的shell:

#!/bin/bash

#!是一個特殊的標識符,其後,跟着解釋此腳本的shell路徑。

bash只是shell的一種,還有很多其它shell,如:sh,csh,ksh,tcsh,...

默認使用bash

 

2.爲腳本增加可執行權限:

chmod u+x abc.sh

 

3.Shell 變量:

定義變量:a='Hello World'

使用變量: echo ${a}

只讀變量:readonly a

刪除變量:unset a

 

4.Shell字符串:

單引號字符串:

單引號裏的任何字符都會原樣輸出,單引號字符串中的變量是無效的。

單引號字串中不能出現單引號(對單引號使用轉義符後也不行)。

雙引號字符串:

雙引號裏可以有變量。

雙引號裏可以出現轉義字符。

獲取字符串長度:echo ${#a}

 

5.Shell數組:

定義數組:

①bb=(s d f g h)

bb=(

s

d

f

g

h

)

②bb[0]=s

bb[1]=d

bb[2]=f

bb[3]=g

bb[4]=h

使用數組:

echo ${bb[0]}

使用 @ 符號可以獲取數組中的所有元素:

echo ${bb[@]}

獲取數組長度:

${#bb[@]}

${#bb[*]}

獲取數組單個元素長度:

${#bb[n]}

 

6.輸入輸出:

輸出到屏幕:echo ‘Hello World’

輸出到文件:ll > aaa.txt

獲取用戶輸入:

echo -n "enter your name:"

read name

-n選項,用於允許用戶在字符串後面立即輸入數據,而不是在下一行輸入。

read -p "please enter your age:" age

-p選項,允許在read命令行中直接指定一個提示。

age與前面必須有空格。

從文件讀取:--

 

7.計時

read

-t選項指定read命令等待輸入的秒數。當計時器計時數滿時,read命令返回一個非零退出狀態

[root@rac2 ~]# cat t11.sh

#!/bin/bash

if read -t 5 -p "please enter your name:" name

then

echo "hello $name ,welcome to my script"

else

echo "sorry ,tow slow!"

fi

 

8.默讀

read

有時候需要腳本用戶進行輸入,但不希望輸入的數據顯示在監視器上,(實際上是顯示的只是read命令將文本顏色設置爲與背景相同的了)。

[root@rac2 ~]# cat t12.sh

#!/bin/bash

read -s -p "enter your password:" pass

echo "is your password really $pass?"

 

9.讀寫文件

read

每調用一次read命令都會讀取文件中的一行文本,當文件中沒有可讀的行時,read命令將以非零退出狀態退出。

#!/bin/bash

count=1

cat test | while read line

do

echo "line $count:$line"

count=$[$count + 1]

done

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章