Sat*_*esh 7 shell brackets braces
我们使用大括号{}作为变量表达式
NAME="test"
FILE_NAME=${NAME}file
Run Code Online (Sandbox Code Playgroud)
但我不明白我们在哪些场景中使用方括号()Say nslookup $(hostname)仅适用于()括号.
谁能解释一下?
Clo*_*oud 10
轻微的挑剔第一:
[](){}""''``(与波形符号键相同)在BASh脚本中使用大括号进行复杂的变量扩展.考虑字符串连接:
STR="hello"
STR2=$STR
Run Code Online (Sandbox Code Playgroud)
STR2评价为"你好".如果你想让它像"helloWorld"那样怎么办?做类似的事情是STR2="$STR2World"行不通的,所以你使用大括号,即:STR2="${STR}World".
至于括号,它们的使用类似于反引号`,它将文本之间的文本扩展为命令的文本输出.
如果您想将当前时间存储为字符串,该怎么办?
STR2=$(date)
Run Code Online (Sandbox Code Playgroud)
现在STR2存储字符串"Thu May 7 09:32:06 PDT 2015".
此外,您可以使用括号在子shell中执行某些操作,这可能会影响您的环境,PID等.对于您希望"一次性"环境必须通过pushd/popd而不是跟踪/恢复环境变量,目录的情况非常有用cd等