サマリー:新建shell腳本新建一個文件,擴展名為sh(sh代表shell),或者其他任意名字,其實擴展名并不影響腳本執(zhí)行,見名知意就好,這里用sh是為了便于分辨。在你新建的文件中輸入以下內(nèi)容:#!/bin/bash echo "Hello World !"“#!” 是一個約定的標(biāo)記,它告訴系統(tǒng)這個腳本需要什么解釋器來執(zhí)行,即使用哪一個Shell來執(zhí)行。ec
新建shell腳本
新建一個文件,擴展名為sh(sh代表shell),或者其他任意名字,其實擴展名并不影響腳本執(zhí)行,見名知意就好,這里用sh是為了便于分辨。
在你新建的文件中輸入以下內(nèi)容:
#!/bin/bash echo "Hello World !"
“#!” 是一個約定的標(biāo)記,它告訴系統(tǒng)這個腳本需要什么解釋器來執(zhí)行,即使用哪一個Shell來執(zhí)行。
echo命令用于向窗口輸出文本。
運行shell腳本
運行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)前目錄找。
通過這種方式運行bash腳本,第一行一定要寫對,好讓系統(tǒng)查找到正確的解釋器。
2)作為解釋器參數(shù)
這種運行方式是,直接運行解釋器,其參數(shù)就是shell腳本的文件名,如:
/bin/sh test.sh /bin/php test.php
這種方式運行的腳本,不需要在第一行指定解釋器信息,寫了也沒用。
再看一個例子。下面的腳本使用 read 命令從 stdin 獲取輸入并賦值給 PERSON 變量,最后在 stdout 上輸出:
#!/bin/bash # Author : linuxdaxue.com echo "What is your name?" read PERSON echo "Hello, $PERSON"
運行腳本:
chmod +x ./test.sh $./test.sh What is your name? linuxdaxue Hello, linuxdaxue $
總結(jié)
看到這里同學(xué)們是不是對shell腳本有了更深刻的理解呢?那就趕緊行動起來吧,按照上面的方法自己實踐一遍,如果有不懂的地方及時發(fā)現(xiàn),及時解決,這樣才能真正的將知識變?yōu)樽约旱哪芰Α?/p>