我试图获取一些程序的输出并将它们分配给变量。我使用反引号来执行此操作,但如果需要,我可以切换到不同的方法。我注意到,我经常无法在变量中获得预期的输出。下面是一个简单的案例。我的实际例子更复杂。无论我在反引号中运行的程序的输出是什么,我都希望它在变量中。那可能吗?
test=`echo [asdf]`
如果我echo $test
它只显示一个。
答案1
答案2
最简单的答案是转义,[
这样它就不会被视为特殊模式字符。 (]
如果前面没有未加引号的 ,则按字面意思处理结束语[
。)
test=$(echo \[asdf])