我们使用大括号{}作为变量表达式
NAME="test" FILE_NAME=${NAME}file
但我不明白在哪种情况下我们使用方括号()
假设nslookup $(hostname)仅适用于()括号.
谁能解释一下?
轻微的挑剔第一:
>托架[]
>圆括号()
>大括号{}
>(双)引号“”
>(单)引号(撇号)”
>反引号“(与波形符号键相同)
在BASh脚本中使用大括号进行复杂的变量扩展.考虑字符串连接:
STR="hello" STR2=$STR
STR2评估为“你好”.如果你想让它像“helloWorld”那样怎么办?做STR2 =“$STR2World”之类的东西不起作用,所以你使用大括号,即:STR2 =“${STR} World”.
至于括号,它们的使用类似于反引号`,它将文本之间的文本扩展为命令的文本输出.
如果您想将当前时间存储为字符串,该怎么办?
STR2=$(date)
现在STR2存储字符串“Thu May 7 09:32:06 PDT 2015”.
Additionally,you can use parentheses to execute something in a subshell,可能会影响您的环境,PID等.对于您希望“一次性”环境必须跟踪/恢复环境变量,通过pushd / popd而不是cd等目录的情况非常有用.
原文地址:https://www.jb51.cc/bash/384043.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。