shell-keys

来源:互联网 发布:python chm手册 编辑:程序博客网 时间:2024/05/08 12:41

  • 各种括号
  • 获取返回值

#空语句pass#自增自减let "a++"  #命令替换# echo $(date)Sat Jun 10 16:28:00 HKT 2017# echo `date` Sat Jun 10 16:28:02 HKT 2017#字符串判断防空if [ "${stra}"x = "strb"x ] #巧用连接符判断成功与否commands_succeed && succeed_processcommands_failed || failed_process# 失败退出(这句语句告诉bash后面的语句 如果任何语句的执行结果不是true(0代表true)则应该退出)set -e

各种括号

() vs {} 将多个命令组合在一起执行,相当于一个命令组。

() 是在子shell中执行。
{} 是在当前shell中执行;{}两边必须有空格;{}中最后一条指令必须以;结束。

test vs []

等价
[[]] 是[]的加强版。如果你遇到[]搞不定的,记得用[[]]。

(()) 专门用于数值计算。

(())内不能出现-ne之类的test关键词的用语,而用> < ++之类的数值运行符。
使用 (( )) 时,不需要空格分隔各值和运算符,使用[]和[[ ]] 时需要用空格分隔各值和运算符包括’[‘’]’符(如 elif [ agtb ]; then)。

获取返回值

echo方式只能()return?这样获取吗?

return_ret(){              return 1}          echo_ret(){              echo 3}          return_retaa=$?   #不能aa=$(return_ret)的方式获取bb=$(echo_ret)  #只能这样获取echo $aa  #1echo $bb  #3
原创粉丝点击