濮阳杆衣贸易有限公司

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

shell腳本返回值問題的解決

熱門標(biāo)簽:地圖標(biāo)注x是啥意思 房產(chǎn)證地圖標(biāo)注的兩個(gè)面積 武漢語音電銷機(jī)器人加盟 威海電銷外呼系統(tǒng)好用嗎 輝縣市地圖標(biāo)注 湖北孝感如何辦理 外呼系統(tǒng)的合法性 北京電銷機(jī)器人對(duì)市場的影響 同花順電話機(jī)器人微信

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

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

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

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

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

有時(shí)候希望實(shí)現(xiàn)的功能是返回一些其他類型的變量值,比如字符串等等,此時(shí)我們在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

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

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell腳本返回值問題的解決》,本文關(guān)鍵詞  shell,腳本,返回,值問,題的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell腳本返回值問題的解決》相關(guān)的同類信息!
  • 本頁收集關(guān)于shell腳本返回值問題的解決的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    扶沟县| 来安县| 乌苏市| 潮安县| 西丰县| 依安县| 佛学| 和田县| 万盛区| 丹棱县| 芜湖市| 特克斯县| 永定县| 平度市| 塔城市| 铜梁县| 富蕴县| 浑源县| 隆昌县| 镇巴县| 武城县| 都安| 科技| 滨海县| 永和县| 澳门| 晋江市| 岳西县| 天台县| 河曲县| 焉耆| 钟祥市| 广宁县| 安新县| 蓝田县| 临海市| 康平县| 闽清县| 腾冲县| 双柏县| 昭觉县|