要将命令的输出存储为sh/ksh/bash中的变量,您可以执行任一操作
var=$(command)
Run Code Online (Sandbox Code Playgroud)
要么
var=`command`
Run Code Online (Sandbox Code Playgroud)
两种方法之间有什么区别?
在bash中执行命令替换的首选方法是什么?
我总是这样做:
echo "Hello, `whoami`."
Run Code Online (Sandbox Code Playgroud)
但最近,我经常看到它写得像这样:
echo "Hello, $(whoami)."
Run Code Online (Sandbox Code Playgroud)
什么是首选语法,为什么?或者他们几乎可以互换?
我倾向于赞成第一个,因为我的文本编辑器似乎知道它是什么,并且适当地进行语法高亮.
我在这里读到,在每种情况下,转义字符的行为都有所不同,但我不清楚哪种行为更可取,或者它只取决于具体情况.
附带问题:在一个脚本中使用两个表单是不好的做法,例如嵌套命令替换时?