經常出現於 Unix, Linux, BSD 系統,部分 Mac OS 亦會使用 Shell Script 進行設定
相比 Windows 的 Batch,Shell Script 更顯得重要
Shell Script 其簡單的編程,具備高階電腦語言的 function 語法
function 的語法相當簡單
myfunction(){
return 0;
}
myfunction;
echo $?;function 其實可以連傳回值都不需要,但 Shell Script 不接受沒有內部的 functionShell Script 的 function 連 function 這個 keyword 都不需要使用,亦不需要指定參數數量
Shell Script 只以 $1, $2, $3 ... 作為參數名稱,最多可使用 255 個參數
透過 $? 來獲取 myfunction 的傳回值,這種傳回方式則比較奇怪
但 Shell Script 的 function 只接受整數傳回值
若果 function 以非整數傳回
myfunction(){
return 'hello, world';
}
myfunction;便會發生 return hello, world: numeric argument required就是因為傳回值的型態並非數值
若果需要必須傳回字串等型態的傳回值,需要配合 echo 來模擬
myfunction(){
echo 'hello, world';
}
string=`myfunction`;
echo $string;雖然語法上比較奇怪,但以這種寫法,便可以傳回字串值而且這種寫法亦與各種高階電腦語言更像似,使用上可能比原來的語法更順手
不過這種寫法的限制是,使用 function 的中途不能有其他 echo 使用
否則最後傳回的資料,便會出錯
沒有留言 :
張貼留言