這篇文章主要介紹shell腳本返回值可以使用什么參數實現,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
shell腳本的返回值可以使用return參數,但是return只能返回整數類型的值。因此實現比較復雜的功能的話shell腳本可能不太友好。
比如下面這個例子:
#!/bin/bash
function in_path(){
cmd=$1
path=$2
oldIFS=$IFS
IFS=":"
retval=1
for directory in $path
do
if [ -x $directory/$cmd ];then
return 0
fi
done
IFS=$oldIFS
return 1
}
in_path ls $PATH
if [ $? -eq 0 ];then
echo "yes"
else
echo "no"
fi這個腳本實現的功能是在PATH環境變量中查找ls命令是否存在且可執行,如果是,就返回0,否則就返回1。返回0表示為真,此時if語句判斷為真的話輸出yes,為0的話輸出no。
有時候希望實現的功能是返回一些其他類型的變量值,比如字符串等等,此時我們在shell腳本中就不能再使用return關鍵字了,可以這么寫。
#!/bin/bash
function in_path(){
cmd=$1
path=$2
oldIFS=$IFS
IFS=":"
retval=1
for directory in $path
do
if [ -x $directory/$cmd ];then
echo yes
fi
done
IFS=$oldIFS
echo no
}
aa=$(in_path $1 $PATH)
if [[ $aa =~ "yes" ]];then
echo "the path has this bianliang"
else
echo "no no no"
fi這也是一種實現獲取返回值結果的功能,還是挺好用的。但是如果你要是把if語句替換成case語句使用的話,那么函數中的echo語句和return語句返回的這個邏輯要明白的,和return不一樣的,比如:

以上是“shell腳本返回值可以使用什么參數實現”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。