aix_shell入門之一

wmlm發表於2007-03-07
建立和執行 shell 指令碼[@more@]

shell 指令碼是包含一個或多個命令的檔案。shell 指令碼提供了一種執行冗長的命令、大型或複雜的命令序列以及例程任務的簡單方法。當輸入 shell 指令碼檔案的名稱時,系統將執行該檔案中包含的命令序列。
可以使用文字編輯器建立 shell 指令碼。指令碼既可以包含作業系統命令,也可以包含 shell 內建命令。

以下步驟是編寫 shell 指令碼的常規方針:
使用文字編輯器,建立並儲存一個檔案。可以在 shell 指令碼檔案中包含 shell 命令和作業系統命令的任意組合。根據約定,未設定為供多個使用者使用的 shell 指令碼儲存在 $HOME/bin 目錄中。
注: 該作業系統不支援在 shell 指令碼內使用 setuid 或 setgid 子例程。
要只允許所有者執行(或執行)檔案,使用 chmod 命令。例如,如果檔名為 script1,請輸入以下命令:
chmod u=rwx script1
在命令列上輸入指令碼名稱來執行 shell 指令碼。要執行 script1 shell 指令碼,請輸入以下命令:
script1
注: 如果在命令列上將 shell 命令(ksh、bsh 或者 csh)放置在 shell 指令碼檔名之前,則無需使該 shell 指令碼成為可執行即可執行。例如,要在 korn shell 控制下執行名為 script1 的非可執行檔案,請輸入以下命令:
ksh script1


為指令碼檔案指定 shell
在 Korn(POSIX Shell)或者 Bourne shell 中執行可執行 shell 指令碼時,除非指定一個不同的 shell,否則指令碼中的命令在當前 shell(啟動指令碼的 shell)的控制下執行。在 C shell 中執行可執行 shell 指令碼時,除非指定一個不同的 shell,否則指令碼中的命令在 Bourne shell(/usr/bin/bsh)的控制下執行。
可以在 shell 指令碼中包含 shell,從而在指定 shell 裡執行 shell 指令碼。
要在指定的 shell 下執行可執行 shell 指令碼,在 shell 指令碼的第一行輸入 #!Path,然後按 Enter 鍵。#! 字元表明檔案型別。Path 變數指定執行 shell 指令碼的 shell 的路徑名。
例如,要在 Bourne shell 下執行 bsh 指令碼,請輸入以下命令:
#!/usr/bin/bsh
如果在 shell 指令碼檔名前放置一個 shell 命令,則命令列上指定的 shell 覆蓋指令碼檔案內指定的任何 shell。因此,如果輸入 ksh myfile 並按 Enter 鍵,會在 Korn shell 的控制下執行名為 myfile 的檔案,即使 myfile 的第一行是 #!/usr/bin/csh。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-903246/,如需轉載,請註明出處,否則將追究法律責任。

相關文章