ehco和return 

return  返回的是状态码,函数结束 return不返回函数返回值 可以在前面用 echo 返回函数返回值,return 返回指定函数退出状态码

echo  返回的是函数返回值,函数退出状态码是函数最后一条命令的退出状态码 

test1.sh

#!/bin/bash 
    
function test(){
    echo 200                                                                    
}   
    
ret=$(test)
echo "####$?"
echo "***********$ret"

wKiom1dp_6HiScuQAAAL1HLIpVY817.png

test2.sh

#!/bin/bash 
    
function test(){
    return 200                                                                  
}   
    
ret=$(test)
echo "####$?"
echo "***********$ret"

wKioL1dp_7Sx8mF7AAAMGcFT51M234.png


就bash而言, return命令只能用在函数中,不能直接用在脚本中

内置命令return用于从函数中返回, ..., return命令在函数中不是必须的,函数被调用时,函数内的命令执行完成后自然会返回到调用它的地方(一般是返回到主程序)。如果某函数中有return命令,执行到return时就返回。如果return在函数中不是最后一条命令,那么return后面的其他命令不再执行。



ehco和printf 

终端打印的常用命令有 echo 和 printf 两种


 1、echo Hello Word !

     这种方法不能打印分号,因为分号在shell里被用作命令界定符,标记一个命令的结束。

wKiom1dqA4ehVmTUAAAkVH-1pKk415.png


2、 echo 'Hello Word !'

    单引号的打印方式打印不了变量。

Shell脚本return、echo、printf_第1张图片

3、echo "Hello World"

    双引号中不能直接打印感叹号,需加set +H

wKioL1dqBELyMIvBAAAbEbl3_4U829.png


echo 的参数

-e:识别输出内容里的转义序列

wKiom1dqBF6xT6pRAAAg3waBNDY761.png

-n:忽略结尾的换行

wKioL1dqBGuC7UODAAAmYnRwlsM762.png


关于printf,须说明的两点是

1.printf的默认输出没有换行,换行需要自己加“\n”

2.printf支持格式化输出



《完》