原谅我是个菜鸟。基本上我在询问foo=ls
时是否会输入" ls"或者如果它将运行ls然后,当被调用时,它将已经运行ls,并且只使用该输出。我假设它是前者,在这种情况下,你怎么能将ls的输出保存为变量?
答案 0 :(得分:2)
foo=$(ls)
您可以使用$(your command)
获取命令的输出。
事实上,您无法使用foo=ls
使foo
成为ls
的别名。您必须撰写alias "foo"="ls"
才能将foo
用作ls
。
答案 1 :(得分:0)
var=ls
是一个变量,在展开时为ls
。因此,在扩展之后,bash将执行命令...如果它是该行中的第一个令牌。以下是两个截然不同的事情。
var=ls
$var #very different from the below
echo $var
答案 2 :(得分:-1)
foo=ls
不运行ls,它只是分配字符串' ls'改变foo。
foo=`ls`
运行ls并将其输出(准确地说是stdout)捕获到变量foo。