麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > Linux Shell > 正文

shell腳本返回值問(wèn)題的解決

2020-07-26 23:24:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

如果學(xué)習(xí)過(guò)高級(jí)語(yǔ)言比如java和c語(yǔ)言等,此時(shí)你要是獲取一個(gè)函數(shù)的返回值,直接在函數(shù)里面寫(xiě)上return即可,然后在函數(shù)執(zhí)行時(shí)將返回結(jié)果賦值給某個(gè)變量即可。但是在shell腳本中限制較多,因此如果我們想實(shí)現(xiàn)這樣的功能的話,稍微困難一些,本人在實(shí)踐中做了一些該方面的實(shí)驗(yàn),并做筆記分享。

shell腳本的返回值可以使用return參數(shù),但是return只能返回整數(shù)類(lèi)型的值。因此實(shí)現(xiàn)比較復(fù)雜的功能的話shell腳本可能不太友好。

比如下面這個(gè)例子:

#!/bin/bashfunction 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 $PATHif [ $? -eq 0 ];then  echo "yes"else  echo "no"fi

這個(gè)腳本實(shí)現(xiàn)的功能是在PATH環(huán)境變量中查找ls命令是否存在且可執(zhí)行,如果是,就返回0,否則就返回1。返回0表示為真,此時(shí)if語(yǔ)句判斷為真的話輸出yes,為0的話輸出no。

有時(shí)候希望實(shí)現(xiàn)的功能是返回一些其他類(lèi)型的變量值,比如字符串等等,此時(shí)我們?cè)趕hell腳本中就不能再使用return關(guān)鍵字了,可以這么寫(xiě)。

#!/bin/bashfunction 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

這也是一種實(shí)現(xiàn)獲取返回值結(jié)果的功能,還是挺好用的。但是如果你要是把if語(yǔ)句替換成case語(yǔ)句使用的話,那么函數(shù)中的echo語(yǔ)句和return語(yǔ)句返回的這個(gè)邏輯要明白的,和return不一樣的,比如:

到此這篇關(guān)于shell腳本返回值問(wèn)題的解決的文章就介紹到這了,更多相關(guān)shell腳本返回值內(nèi)容請(qǐng)搜索武林網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持武林網(wǎng)!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 中文字幕在线免费观看电影 | 91精品免费观看 | 黄色网络免费看 | av7777777 | 午夜天堂在线视频 | 国产精品久久久久久模特 | 日韩视频―中文字幕 | 青青草成人影视 | 精品一二三区视频 | 狠狠干91 | 伊人久久电影网 | 日日艹夜夜艹 | xnxx 美女19 | 在线a视频 | 一夜新娘第三季免费观看 | 国产羞羞视频在线观看免费应用 | 久久99亚洲精品久久99果 | 草b视频在线观看 | 久久精品欧美电影 | 亚洲网站在线观看视频 | 蜜桃免费在线 | 19禁国产精品福利视频 | 久在线播放 | 国产精品1区,2区,3区 | 色就色 综合偷拍区91网 | 九九热精品视频在线播放 | 精品一区二区三区免费 | 久久精品日韩一区 | 成人不卡一区二区 | hd porn 4k video xhicial | 成人免费在线观看视频 | 黄色三级三级三级 | 久久久精品网站 | 国产精品久久久久影院老司 | 在线观看一二区 | 黄色av网站免费看 | 美女被免费网站在线软件 | 久久综合久久美利坚合众国 | 4399一级成人毛片 | 久久久久久久久日本理论电影 | 日韩a毛片免费观看 |