哪种形式更适合在Bash中使用?
发布时间:2020-12-16 01:51:28 所属栏目:安全 来源:网络整理
导读:我正在学习 Bash,我看到了这个形式 C=example echo “$C” 给出相同的表格结果 C=”example” echo $C 我想知道是否更好地将“”放在变量的赋值中或者在$之后.或者如果它无动于衷.或者如果一个人认为比另一个人“更美丽”. 解决方法 如果您确定变量的值是单
我正在学习
Bash,我看到了这个形式
给出相同的表格结果
我想知道是否更好地将“”放在变量的赋值中或者在$之后.或者如果它无动于衷.或者如果一个人认为比另一个人“更美丽”. 解决方法
如果您确定变量的值是单个单词(没有空格),则可以使用$varname或${varname}.如果你不能保证这一点,那么你应该使用“$varname”或“${varname}”.请注意,bash在解释命令之前会进行分词,因此如果不引用表达式,实际上可能会出现语法错误,例如
C="white space" if [ -z $C ] then ... fi 将导致语法错误: -bash: [: white: binary operator expected 虽然这很好: C="white space" if [ -z "$C" ] then ... fi 这是因为在第一个未引用的情况下变量扩展后bash看到了这样的事实: if [ -z white space ] then ... fi 并且-z运算符只需要一个,而不是两个参数.在第二个,引用案例bash看到这个: if [ -z "white space" ] then ... fi 即只需要一个参数.另请注意,引号用于赋值 C="white space" 因为如果你写的话它也会产生错误 C=white space 因为这意味着:执行命令空间,环境包含添加的变量C = white. 因此,一般来说,您应该引用这些表达式,以确保您的代码对不可预见的变量值更加健壮.如果变量值来自输入,文件等,则尤其如此.通常可以放弃整数变量的引号,或者只想在echo $C中显示变量的值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |