婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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腳本返回值問題的解決的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 武鸣县| 齐河县| 修武县| 东明县| 紫金县| 大连市| 建水县| 广安市| 宁都县| 孟州市| 乐亭县| 平塘县| 安多县| 潜山县| 嘉禾县| 比如县| 田林县| 东海县| 绥阳县| 乌拉特中旗| 娄底市| 太仆寺旗| 吉隆县| 内乡县| 贵港市| 平乡县| 田东县| 晋宁县| 潼南县| 正阳县| 杭州市| 仁寿县| 从化市| 铅山县| 隆子县| 嘉义市| 平泉县| 苗栗县| 青阳县| 定襄县| 江津市|