1. shell腳本的建立和執行
1) shell腳本的建立
在linux系統中,shell腳本(bash shell程序)通常是在編輯器(如vi/vim)中編寫,由unix/linux命令、bash shell命令、程序結構控制語句和注釋等內容組成,推薦用vim編輯器。
2) 腳本開頭(第一行)
一個規范的shell腳本的第一行會指出由哪個程序(解釋器)來執行腳本中的內容,在linux bash編程中一般為:
#!/bin/bash 或 #!/bin/sh <==255個字符以內
其中開頭的"#!"又稱為幻數,在執行bash腳本的時候,內核會根據"#!"后的解釋器來確定該用哪個程序解釋腳本中的內容,注意:這一行必須在每個腳本頂端的第一行,如果不是第一行則為腳本注釋行,例如下面的例子。
[root@1-241 scripts]# cat test1.sh #!/bin/bash echo "scajy start" #!/bin/bash <==寫到這里就是注釋 #!/bin/sh echo "scajy en:"
sh和bash的區別
[root@1-241 scripts]# ls -l /bin/sh lrwxrwxrwx. 1 root root 4 9月 13 20:37 /bin/sh -> bash

提示:sh為bash的軟連接,這里推薦用標准寫法#!/bin/bash
Bash是GNU/Linux默認的shell,和Bourne shell (sh)兼容,Bash采用了Korn shell (Ksh)和C shell(csh)的特色。符合IEEE POISIX P10003.2/ISO 9945.2 shell and tools 標准。
Centos和redhat linux 下默認的shell 均為bash 因此,在寫shell腳本的時候,我們的腳本的開頭也可以不加#!/bin/bash。但如果當前的shell非你默認的shell時,比如tcsh,那么久必須要寫#!了。否則腳本文件就只能執行一些命令的集合,不能夠使用shell內建的指令了,建議讀者養成習慣,不管什么腳本最好都加上開頭語言標識,這在后文的shell編程規范中會再次提到。
如果腳本的開頭不指定解析器,那么,就要用對應的解釋器來執行腳本。例如:bash test.sh
- 腳本注釋
在shell腳本中,跟在(#)#號后面的內容表示注釋,用來對腳本進行注釋說明,注釋部分不會被執行,僅僅是給人看的,注釋可自一行,也可以跟在腳本命令后面與命令在同一行,開發腳本時,如果沒有注釋,其他人就很難理解腳本究竟在做什么,時間長了自己也會忘記。因此,我們要盡量成為所做的工作(腳本等)書寫注釋的習慣,不光是方便別人,也是方便自己。否則寫完一個腳本后也許后就記不起腳本的用途了,在重新閱讀也會浪費很多寶貴時間。對於團隊的協作也不利。