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

shell函數(shù)內(nèi)調(diào)用另一個(gè)函數(shù)(不帶返回值和帶返回值)

 更新時(shí)間:2022年08月04日 11:37:18   作者:三天打魚,兩天曬網(wǎng)  
本文主要介紹了shell函數(shù)內(nèi)調(diào)用另一個(gè)函數(shù)(不帶返回值和帶返回值),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、函數(shù)B調(diào)用不帶返回值的函數(shù)A

新建文件,命名為 test.sh,添加如下代碼:

#!/bin/bash

# 即將被調(diào)用的函數(shù)A
function A(){
	a="aaa"
	echo $a
}

# 函數(shù)B,直接調(diào)用A
function B(){
	A
	echo "bbb"
}

B

命令行中通過(guò)sh test.sh執(zhí)行結(jié)果:

在這里插入圖片描述

二、函數(shù)B調(diào)用帶返回值的函數(shù)A,并接收函數(shù)A的返回值進(jìn)行輸出

如果函數(shù)A有return,是不是在上面例子的基礎(chǔ)上,把A函數(shù)加多一個(gè)return就可以了呢?那么我們來(lái)試一下,代碼如下:

#!/bin/bash

# 即將被調(diào)用的函數(shù)A
function A(){
	a=10
	return $a
}

# 函數(shù)B
function B(){
	a=`A`  # 注意,這里不能直接寫成a=A
	echo $a
}

B

命令行執(zhí)行sh test.sh查看執(zhí)行結(jié)果:

在這里插入圖片描述

等等,為什么結(jié)果輸出為空呢?原來(lái)shell中調(diào)用帶返回值的函數(shù)之后,返回值自動(dòng)保存在$?中,所以將函數(shù)B改成如下即可:

#!/bin/bash

# 即將被調(diào)用的函數(shù)A
function A(){
	a=10
	return $a
}

# 函數(shù)B
function B(){
	a=`A`
	echo $?  # 注意:這里要用英文的?,不能用中文的?
}

B

查看執(zhí)行結(jié)果:

在這里插入圖片描述

然而,題主遇到返回結(jié)果并不是期望結(jié)果的情況。代碼如下:

#!/bin/bash

# 即將被調(diào)用的函數(shù)A
function A(){
	a="aaa"
	return $a
}

# 函數(shù)B
function B(){
	a=`A`
	echo $?
	echo "bbb"
}

B

命令行執(zhí)行sh test.sh查看結(jié)果:

在這里插入圖片描述

這是什么意思呢?為什么是255,而不是期望的結(jié)果“aaa”?原因是shell中用return的話,return的值只能為整形,其它非整形的,如想要直接return是獲取不到的。
那么,該如何解決該問(wèn)題呢?代碼如下:

#!/bin/bash

# 即將被調(diào)用的函數(shù)A
function A(){
	a="aaa"
	echo $a
}

# 函數(shù)B
function B(){
	a=`A`
	echo $a
	echo "bbb"
}

B

查看結(jié)果:

在這里插入圖片描述

怎么樣?居然不用return字段,很奇怪吧?shell的語(yǔ)法就是這么特立獨(dú)行。至此,問(wèn)題得到解決。

到此這篇關(guān)于shell函數(shù)內(nèi)調(diào)用另一個(gè)函數(shù)(不帶返回值和帶返回值)的文章就介紹到這了,更多相關(guān)shell函數(shù)內(nèi)調(diào)用另一個(gè)函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Shell中sed編輯器的具體使用

    Shell中sed編輯器的具體使用

    sed是一種流編輯器,sed編輯器可以根據(jù)命令來(lái)處理數(shù)據(jù)流中的數(shù)據(jù),本文就來(lái)介紹一下Shell中sed編輯器的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • shift妙用之解決shell編程中的入?yún)?wèn)題

    shift妙用之解決shell編程中的入?yún)?wèn)題

    shell編程經(jīng)常會(huì)遇到參數(shù)個(gè)數(shù)不定的這種情況,這種情況怎么處理呢?shift就要閃亮登場(chǎng)了
    2013-08-08
  • linux下wc統(tǒng)計(jì)文件的個(gè)數(shù)、行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)等信息方法

    linux下wc統(tǒng)計(jì)文件的個(gè)數(shù)、行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)等信息方法

    下面小編就為大家?guī)?lái)一篇linux下wc統(tǒng)計(jì)文件的個(gè)數(shù)、行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)等信息方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • shell 編寫一個(gè)帶有進(jìn)度條的程序安裝腳本

    shell 編寫一個(gè)帶有進(jìn)度條的程序安裝腳本

    這篇文章主要介紹了shell 編寫一個(gè)帶有進(jìn)度條的程序安裝腳本,通過(guò)使用Shell腳本,我們可以輕松地實(shí)現(xiàn)命令行中的進(jìn)度條功能,從而提高工作效率,感興趣的可以了解一下
    2023-08-08
  • Shell腳本自動(dòng)部署項(xiàng)目的方法步驟

    Shell腳本自動(dòng)部署項(xiàng)目的方法步驟

    本文主要介紹了Shell腳本自動(dòng)部署項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Bash中分支控制Case語(yǔ)句的實(shí)現(xiàn)

    Bash中分支控制Case語(yǔ)句的實(shí)現(xiàn)

    case語(yǔ)句通常用于簡(jiǎn)化具有多種不同選擇的復(fù)雜條件語(yǔ)句,使?Bash?腳本更具可讀性,在本文中我們將深入探討case語(yǔ)句的使用方法和一些實(shí)用的例子,感興趣的可以了解一下
    2024-01-01
  • touch shell腳本并修改為777權(quán)限的方法

    touch shell腳本并修改為777權(quán)限的方法

    這篇文章主要介紹了touch shell腳本并修改為777權(quán)限的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Linux Shell腳本實(shí)現(xiàn)檢測(cè)tomcat

    Linux Shell腳本實(shí)現(xiàn)檢測(cè)tomcat

    這篇文章主要介紹了Linux Shell腳本實(shí)現(xiàn)檢測(cè)tomcat的方法,推薦給小伙伴們,需要的朋友可以參考下
    2015-03-03
  • linux文件搜索及其它基礎(chǔ)命令介紹(3)

    linux文件搜索及其它基礎(chǔ)命令介紹(3)

    這篇文章主要為大家詳細(xì)介紹了linux文件搜索及其它基礎(chǔ)命令,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Linux查找占用的端口,并終止進(jìn)程的方法

    Linux查找占用的端口,并終止進(jìn)程的方法

    下面小編就為大家?guī)?lái)一篇Linux查找占用的端口,并終止進(jìn)程的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論

宁夏| 阳新县| 唐河县| 那坡县| 兖州市| 宁津县| 乡城县| 安新县| 浙江省| 枣阳市| 宜宾市| 富川| 抚顺县| 封丘县| 申扎县| 尉犁县| 七台河市| 久治县| 石林| 永济市| 乐亭县| 买车| 高阳县| 盐山县| 耿马| 沾益县| 紫金县| 无棣县| 响水县| 栾城县| 五家渠市| 富平县| 芷江| 江安县| 南汇区| 乌鲁木齐市| 广河县| 江油市| 濉溪县| 鲁甸县| 昌邑市|