欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell腳本返回值問題的解決

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

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

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

  • 實現(xiàn)shell終端代碼分享(可用戶登錄 實現(xiàn)系統(tǒng)命令)

    實現(xiàn)shell終端代碼分享(可用戶登錄 實現(xiàn)系統(tǒng)命令)

    實現(xiàn)shell終端代碼分享,實現(xiàn)用戶登錄,系統(tǒng)命令使用,大家參考實現(xiàn)吧
    2013-12-12
  • Shell實現(xiàn)日期的獲取、設(shè)置和延時操作

    Shell實現(xiàn)日期的獲取、設(shè)置和延時操作

    本文主要介紹了Shell實現(xiàn)日期的獲取、設(shè)置和延時操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • shell兩個文件去重的多種姿勢

    shell兩個文件去重的多種姿勢

    最近在利用shell幫公司優(yōu)化挖掘關(guān)鍵詞的流程,用shell替代了多個環(huán)節(jié)的操作,極大提高了工作效率。下面這篇文章就給大家分享了利用shell實現(xiàn)兩個文件去重的多種姿勢,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • 比較兩個字符串是否相等的shell代碼

    比較兩個字符串是否相等的shell代碼

    比較兩個字符串是否相等的shell代碼,需要的朋友可以參考下
    2013-02-02
  • shell腳本編程之if語句學(xué)習(xí)筆記

    shell腳本編程之if語句學(xué)習(xí)筆記

    這篇文章主要介紹了shell腳本編程之if語句學(xué)習(xí)筆記,本文先是給出了程序代碼,然后詳細(xì)的分解了第句代碼的作用,需要的朋友可以參考下
    2014-09-09
  • shell腳本聯(lián)合PHP腳本采集網(wǎng)站的pv和alexa排名

    shell腳本聯(lián)合PHP腳本采集網(wǎng)站的pv和alexa排名

    這篇文章主要介紹了shell腳本聯(lián)合PHP腳本采集網(wǎng)站的pv和alexa排名,本文使用PHP腳本采集alexa網(wǎng)站數(shù)據(jù),然后在shell中調(diào)用php腳本并輸出數(shù)據(jù),需要的朋友可以參考下
    2014-12-12
  • Linux命令之ps命令使用詳解

    Linux命令之ps命令使用詳解

    這篇文章主要給大家介紹Linux命令之ps命令使用方法,文中有詳細(xì)的代碼示例,對我們學(xué)習(xí)Linux命令有一定的幫助,感興趣的同學(xué)可以參考閱讀下
    2023-06-06
  • shell腳本字符串處理的使用(分割、截取和拼接)

    shell腳本字符串處理的使用(分割、截取和拼接)

    本文主要介紹了shell腳本字符串處理的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • win下調(diào)用putty執(zhí)行命令腳本分享

    win下調(diào)用putty執(zhí)行命令腳本分享

    這篇文章主要介紹了win下調(diào)用putty執(zhí)行命令腳本,可以利用這個實現(xiàn)一些自動化的工作,需要的朋友可以參考下
    2014-03-03
  • Linux?字段連接?join?命令使用小結(jié)

    Linux?字段連接?join?命令使用小結(jié)

    join命令是Linux系統(tǒng)中的一個文本處理工具,它用于將兩個文件的行按照共同的字段連接起來,這篇文章主要介紹了Linux字段連接join命令使用指南,需要的朋友可以參考下
    2023-06-06

最新評論