在Bash中,使用来给变量赋值是T=content在等号之前或之后没有空格。尽管如此,我还是在shell脚本PWD= /bin/pwd 中看到了以下内容,该脚本在等号的右侧包含一个空格。它有空间的目的是什么?
3 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
在此示例中PWD= /bin/pwd,PWD在执行命令之前,将变量设置为空字符串/bin/pwd。更改仅对该行生效。
这对于在运行命令时临时更改变量而不影响原始值很有用。另一个示例是使用read,以设置不同的内容IFS:
IFS=, read a b c <<<"comma,separated,list"
这将设置字段分隔符为逗号,这样a,b和c被正确读取。在此行之后,IFS返回到默认值,因此脚本的其余部分不受影响。
也许在某些系统上,命令的输出pwd受变量的值影响PWD,因此这样做可以防止因PWD在其他地方被覆盖而导致的问题。
至尊宝的传说
TA贡献1789条经验 获得超10个赞
PWD= pwd
此语法PWD在pwd命令持续时间内将空值分配给变量。
PWD=ick
echo "$PWD"
这分配PWD了脚本的其余部分。
PWD=ick pwd
echo "$PWD"
这PWD仅在pwd命令期间分配;的echo将回声这在效果之前和之后的值pwd调用。
PWD=
这只是将空值分配给PWD。
从病理上来说
PWD = ick
尝试PWD使用参数运行命令,=并且ick
- 3 回答
- 0 关注
- 645 浏览
添加回答
举报
0/150
提交
取消