Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
function ctrace { echo "+ $@" "$@" } ctrace echo "hi"
我如何让这个函数输出(带引号):
echo "hi"
在这个版本中,引号丢失了echo hi......这是另一个例子:
echo hi
a=b ctrace echo $a
这应该输出echo $a而不是echo b
echo $a
echo b
问题不在于函数,而在于调用者。
在第一种情况下,引号在函数获取参数之前被去掉。在第二个中,$a替换是在它到达函数之前完成的。
$a
尝试:
ctrace 'echo "hi"' ctrace 'echo $a'
您需要将字符串括在单引号内