shell函数怎么获取返回值 (shell函数怎么引用函数返回值)

编写被调用函数

[hadoop@localhost dzztest]$ pwd
/home/hadoop/dzztest
[hadoop@localhost dzztest]$ cat functions.main
#!/bin/sh
#去掉str1左边所有的空格
function ltrim_dzz ()
{
str1=$1
tmp=${str1:0:1}
while [[ $tmp == " " ]]
do
str1=${str1:1}
tmp=${str1:0:1}
done
echo $str1
}

编写调用函数

[hadoop@localhost d11]$ pwd
/home/hadoop/dzztest/d11
[hadoop@localhost d11]$ cat b.sh
#!/bin/sh
. ../functions.main
#可用替换操作以取得函数返回值
newstr=`ltrim_dzz " 8445"`
echo "new str:$newstr"

执行

[hadoop@localhost d11]$ ./b.sh
new str:8 445

. ./functions.main定位文件,载入shell 载入函数:使用set命令确保函数已载入。

set命令将在shell中显示所有的载入函数。

删除shell函数

现在对函数做一些改动。首先删除函数,使其对shell不可利用。使用unset命令完成此功

能。删除函数时unset命令格式为:unset function_name

$ unset findit

如果现在键入unset命令,函数将不再显示。

2022-9-22