qq591577286 发表于 2018-8-22 08:41:04

shell变量赋值与引用及扩展

  shell变量赋值:name=string
  “=”是赋值符号。两边不能直接跟空格,否则shell将视为命令。
  string是被赋予的变量值。若string中包含空格、制表符和换行符,则string必须用单双引号将其括起来。双引号了允许使用变量替换,单引号内不能。
  引用变量:
  1、在变量名前使用$字符,即$name的形式引用变量的值
  2、为了界定变量名,避免混淆,也可以使用 ${name}的格式引用。
  变量输出:
  echo
  printf 用户格式化输出
  变量赋值
  若字符换恰好是可执行的命令,且包括在``中,将返回执行结果。
  myhello=`echo hello`
  申明全局变量
  export
  shell变量的输入
  1、read [参数] [变量名]
  常用参数
  -p prompt:设置提示信息。
  -t timeout:设置输入的等待秒数
  变量替换扩展
表达式说明${var-DEFAULT}若var未被生命,则以DEFAULT作为其值${var=DEFAULT}${var:-DEFAULT}若var未被生命或其值为空,则以DEFAULT作为其值${var:=DEFAULT}${var+OTHER}  若var呗声明了,那么其值就是OTHER,否则为空
${var:+OTHER}  若var被声明了或其值不为空,那么其值就是OTHER,否则就为空
${!varprefix*}匹配之前所有以varprefix开头进行声明的变量${!varprefix@}匹配之前所有以varprefix开头进行声明的变量  变量的字符串操作
表达式说明${#string}$string的长度${string:position}在$string中,从位置$position开始提取子串${string:position:length}  在$string中,从position开始提取长度为length的子串
${string#substring}从变量$string的开头,删除最短匹配$substring的子串${string##substring}从变量$string的开头,删除最长匹配$substring的子串${string%substring}从变量$string的结尾,删除最短匹配$substring的子串${string%%substring}从变量$string的结尾,删除最长匹配$substring的子串${string/#substring/replacement}如果$string的前最匹配$substring,那么就用$replacement来代替匹配的$substring${string/%substring/replacement}如果$string的后最匹配$substring,那么就用$replacement来代替匹配的$substring
页: [1]
查看完整版本: shell变量赋值与引用及扩展