最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell腳本返回值問題的解決

 更新時間:2020年05月12日 09:30:51   作者:峰哥ge  
這篇文章主要介紹了shell腳本返回值問題的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

shell腳本的返回值可以使用return參數(shù),但是return只能返回整數(shù)類型的值。因此實現(xiàn)比較復雜的功能的話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

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

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

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

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

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

相關(guān)文章

  • linux下mysql如何自動備份shell腳本

    linux下mysql如何自動備份shell腳本

    對任何一個已經(jīng)上線的網(wǎng)站站點來說,數(shù)據(jù)備份都是必須的。無論版本更新還是服務器遷移,備份數(shù)據(jù)的重要性不言而喻。人工備份數(shù)據(jù)的方式不單耗費大量時間和精力,還灰常不專業(yè)。下面小編給大家分享linux下mysql自動備份shell腳本,需要的朋友可以參考下
    2015-09-09
  • Shell中數(shù)組以及其相關(guān)操作的詳細實例

    Shell中數(shù)組以及其相關(guān)操作的詳細實例

    這篇文章主要給大家介紹了關(guān)于Shell中數(shù)組以及其相關(guān)操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • shell遍歷目錄處理特定目錄的腳本代碼

    shell遍歷目錄處理特定目錄的腳本代碼

    刪除文件,目錄結(jié)構(gòu)為:ip/年份/月份,每個人都有一份這樣的目錄現(xiàn)需要刪除2012年以前的所有文件,2012年以后的刪除特定月份
    2013-02-02
  • Shell腳本中實現(xiàn)切換用戶并執(zhí)行命令操作

    Shell腳本中實現(xiàn)切換用戶并執(zhí)行命令操作

    這篇文章主要介紹了Shell腳本中實現(xiàn)切換用戶并執(zhí)行命令操作,看了示例代碼就秒懂了,原來如此簡單,需要的朋友可以參考下
    2014-12-12
  • linux仿寫chmod命令

    linux仿寫chmod命令

    這篇文章主要介紹了linux仿寫chmod命令的方法,需要的朋友可以參考下
    2014-02-02
  • 把mysql查詢結(jié)果保存到文件的shell腳本

    把mysql查詢結(jié)果保存到文件的shell腳本

    這篇文章主要介紹了把mysql查詢結(jié)果保存到文件的shell腳本,使用mysql的SELECT INTO OUTFILE備份語句,需要的朋友可以參考下
    2014-03-03
  • shell去掉文件中空行(空白行)的方法詳解

    shell去掉文件中空行(空白行)的方法詳解

    最近要查看的日志文件提取后有很多空行,不利于以前的文件可以進行比較了,為了向下兼容,只能取得時候把空行刪除掉
    2013-10-10
  • shell Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實現(xiàn)

    shell Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實現(xiàn)

    本文主要介紹了shell Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • shell實現(xiàn)Fisher–Yates shuffle洗牌算法介紹

    shell實現(xiàn)Fisher–Yates shuffle洗牌算法介紹

    大家好,本篇文章主要講的是shell實現(xiàn)Fisher–Yates shuffle洗牌算法介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下哦
    2021-11-11
  • 強制刪除rpm包的方法

    強制刪除rpm包的方法

    本文給大家介紹強制刪除rpm包,對rpm包刪除方法感興趣的朋友可以一起學習
    2015-11-11

最新評論

通化县| 宽甸| 河北省| 扬州市| 西安市| 高雄市| 高唐县| 宜阳县| 通州区| 深泽县| 紫阳县| 汉阴县| 新和县| 团风县| 融水| 清流县| 昌宁县| 杨浦区| 鞍山市| 六枝特区| 益阳市| 龙川县| 吴忠市| 横峰县| 绍兴县| 秦皇岛市| 颍上县| 香港| 阿鲁科尔沁旗| 南郑县| 五莲县| 五华县| 江孜县| 乌恰县| 安义县| 邹城市| 黄山市| 佛冈县| 天峻县| 墨竹工卡县| 彰化市|