"Helloworld"ShellScript
照傳統程式教學例,這一節介紹ShellScript的"HelloWorld"如何撰寫。
--------------------------------------------------------------------------------
#!/bin/sh
#Filename:hello
echo"Helloworld!"
--------------------------------------------------------------------------------
大家應該會注意到第一行的"#!/bin/sh"。在UNIX下,所有的可執行Script,不管是那一種語言,其開頭都是"#!",例如Perl是"#!/usr/bin/perl",tcl/tk是"#!/usr/bin/wish",看您要執行的Script程式位置在那裡。您也可以用"#!/bin/bash"、"#!/bin/tcsh"等等,來指定使用特定的Shell。
echo是個bash的內建指令。
--------------------------------------------------------------------------------
接下來,執行hello這個script:
要執行一個Script的方式有很多種。
--------------------------------------------------------------------------------
第一種:將hello這個檔案的權限設定為可執行。
[foxman@foxmanbash]#chmod755hello
執行
[foxman@foxmanbash]#./hello
helloworld
--------------------------------------------------------------------------------
第二種:使用bash內建指令"source"或"."。
[foxman@foxmanbash]#sourcehello
helloworld
或
[foxman@foxmanbash]#.hello
helloworld
--------------------------------------------------------------------------------
第三種:直接使用sh/bash/tcsh指令來執行。
[foxman@foxmanbash]#shhello
helloworld
或
[foxman@foxmanbash]#bashhello
helloworld
--------------------------------------------------------------------------------
Bash執行選項
--------------------------------------------------------------------------------
-cstring:讀取string來當命令。
-i:互動介面。
-s:由stdin讀取命令。
-:取消往後選項的讀取。
-norc:不要讀~/.bashrc來執行。
-noprofile:不要讀/etc/profile、~/.bash_profile、~/.bash_login、~/.profile等等來執行。
-rcfilefilename:執行filename,而非~/.bashrc
-version:顯示版本。
-quiet:啟動時不要哩唆。
-login:確保bash是個loginshell。
-nobraceeXPansion:不要用curlybraceexpansion({}符號展開)。
-nolineediting:不用readline來讀取命令列。
-posix:改采Posix1003.2標准。