加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell脚本中的大括号{}和方括号()之间的区别

发布时间:2020-12-16 01:25:06 所属栏目:安全 来源:网络整理
导读:我们使用大括号{}作为变量表达式 NAME="test"FILE_NAME=${NAME}file 但我不明白在哪种情况下我们使用方括号() 假设nslookup $(hostname)仅适用于()括号. 谁能解释一下? 轻微的挑剔第一: 托架[] 圆括号() 大括号{} (双)引号“” (单)引号(撇号)” 反引号“(
我们使用大括号{}作为变量表达式
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等目录的情况非常有用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读