上一篇寫了什么是shell是關(guān)于一些理論的東西惨缆,因此就決定寫寫shell腳本看:
第一個shell腳本
打開文本編輯器(可以使用vi/vim命令來創(chuàng)建文件)恒界,新建一個文件test.sh蠢终,擴展名為sh(sh代表shell)丁屎,擴展名不影響腳本執(zhí)行抵知,只是見名知意叁熔,如果你用php寫shell 腳本,擴展名就用php好了沸移。
準(zhǔn)備工作做好了痪伦,那就來個經(jīng)典語句“hello world”
#!/bin/bash
echo "Hello World !"
"#!" 是一個約定的標(biāo)記,它告訴系統(tǒng)這個腳本需要什么解釋器來執(zhí)行雹锣,即使用哪一種Shell网沾。
echo命令用于向窗口輸出文本。
運行Shell腳本有兩種方法:
1蕊爵、作為可執(zhí)行程序
將上面的代碼保存為test.sh辉哥,并cd到相應(yīng)目錄:
chmod +x ./test.sh #使腳本具有執(zhí)行權(quán)限
./test.sh #執(zhí)行腳本
注意,一定要寫成./test.sh,而不是test.sh醋旦,運行其它二進制的程序也一樣恒水,直接寫test.sh,linux系統(tǒng)會去PATH里尋找有沒有叫test.sh的饲齐,而只有/bin, /sbin, /usr/bin钉凌,/usr/sbin等在PATH里,你的當(dāng)前目錄通常不在PATH里捂人,所以寫成test.sh是會找不到命令的御雕,要用./test.sh告訴系統(tǒng)說,就在當(dāng)前目錄找先慷。
2饮笛、作為解釋器參數(shù)
這種運行方式是咨察,直接運行解釋器论熙,其參數(shù)就是shell腳本的文件名,如:
/bin/sh test.sh
/bin/php test.php
這種方式運行的腳本摄狱,不需要在第一行指定解釋器信息脓诡,寫了也沒用。