xywuyiba8 发表于 2018-8-24 06:39:09

Shell脚本return、echo、printf

  ehco和return
  return返回的是状态码,函数结束 return不返回函数返回值 可以在前面用 echo 返回函数返回值,return 返回指定函数退出状态码
  echo返回的是函数返回值,函数退出状态码是函数最后一条命令的退出状态码
  test1.sh
#!/bin/bash  

  
function test(){
  
    echo 200
  
}
  

  
ret=$(test)
  
echo "####$?"
  
echo "***********$ret"
  
  test2.sh
#!/bin/bash  

  
function test(){
  
    return 200
  
}
  

  
ret=$(test)
  
echo "####$?"
  
echo "***********$ret"

  就bash而言, return命令只能用在函数中,不能直接用在脚本中
  内置命令return用于从函数中返回, ..., return命令在函数中不是必须的,函数被调用时,函数内的命令执行完成后自然会返回到调用它的地方(一般是返回到主程序)。如果某函数中有return命令,执行到return时就返回。如果return在函数中不是最后一条命令,那么return后面的其他命令不再执行。
  ehco和printf
  终端打印的常用命令有 echo 和 printf 两种
  1、echo Hello Word !
  这种方法不能打印分号,因为分号在shell里被用作命令界定符,标记一个命令的结束。

  2、 echo 'Hello Word !'
  单引号的打印方式打印不了变量。

  3、echo "Hello World"
  双引号中不能直接打印感叹号,需加set +H

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

  -n:忽略结尾的换行

  关于printf,须说明的两点是
  1.printf的默认输出没有换行,换行需要自己加“\n”
  2.printf支持格式化输出
  《完》


页: [1]
查看完整版本: Shell脚本return、echo、printf