大多数语言都有变量的命名约定,我在 shell 脚本中看到的最常见的样式是MY_VARIABLE=foo
. 这是惯例还是仅适用于全局变量?脚本本地的变量呢?
我在 Unix 和 Linux 以及其他使用短语“反引号已被弃用”的站点上多次看到此评论,这与 Bash 和 Zsh 等 shell 相关。
这个说法是真的还是假的?
我刚刚遇到了几个答案,例如解析一个分隔的文本文件......使用构造:
while IFS=, read xx yy zz;do
echo $xx $yy $zz
done < input_file
Run Code Online (Sandbox Code Playgroud)
其中IFS
变量设置在read
命令之前。
我一直在阅读bash 参考,但无法弄清楚为什么这是合法的。
我试过
$ x="once upon" y="a time" echo $x $y
Run Code Online (Sandbox Code Playgroud)
从 bash 命令提示符,但没有得到任何回应。有人可以指出我在引用中定义该语法的位置,该引用允许以这种方式设置 IFS 变量吗?这是特殊情况还是我可以用其他变量做类似的事情?
假设file2
已经存在,命令
> file1 < file2 cat
Run Code Online (Sandbox Code Playgroud)
似乎是复制的内容file2
来file1
。
但我无法理解这种结构。
我了解“无”是针对file1
(创建或删除其内容)。然后将 的内容file2
定向到file1
。
为什么是cat
后file2
?它如何知道cat file2
操作数的顺序是否不正确?