校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > shell腳本返回值問題的解決

shell腳本返回值問題的解決

熱門標簽:地圖標注x是啥意思 房產證地圖標注的兩個面積 武漢語音電銷機器人加盟 威海電銷外呼系統好用嗎 輝縣市地圖標注 湖北孝感如何辦理 外呼系統的合法性 北京電銷機器人對市場的影響 同花順電話機器人微信

如果學習過高級語言比如java和c語言等,此時你要是獲取一個函數的返回值,直接在函數里面寫上return即可,然后在函數執行時將返回結果賦值給某個變量即可。但是在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腳本返回值問題的解決的文章就介紹到這了,更多相關shell腳本返回值內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Shell中關于處理方法返回值問題詳解
  • Linux Shell函數返回值
  • Shell中函數返回值超出問題
  • linux shell 自定義函數方法(定義、返回值、變量作用域)
  • shell腳本中執行python腳本并接收其返回值的例子
  • linux shell自定義函數(定義、返回值、變量作用域)介紹

標簽:紹興 西寧 麗江 迪慶 蚌埠 安康 日喀則 武威

巨人網絡通訊聲明:本文標題《shell腳本返回值問題的解決》,本文關鍵詞  shell,腳本,返回,值問,題的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell腳本返回值問題的解決》相關的同類信息!
  • 本頁收集關于shell腳本返回值問題的解決的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 上杭县| 曲阜市| 县级市| 新丰县| 博客| 四会市| 页游| 甘德县| 金寨县| 嘉义县| 连江县| 安化县| 稻城县| 娄底市| 巫山县| 黄大仙区| 汪清县| 广宁县| 沛县| 平陆县| 德保县| 宾阳县| 扎鲁特旗| 东辽县| 旺苍县| 莱州市| 三江| 大英县| 秀山| 清原| 利川市| 南川市| 建湖县| 赤峰市| 石楼县| 卢龙县| 乐东| 海林市| 康平县| 城固县| 祁东县|