我在 test.sh 中写了这样的脚本:
#!/bin/bash
CPPCHECK_PATH=haha
SRC_TMP_PATH=asdf
xmlPath=test
cmd="$CPPCHECK_PATH/cppcheck $SRC_TMP_PATH --xml 2>$xmlPath"
`$cmd`
我运行“sh -x test.sh”,控制台输出为:
sh -x test.sh
+ CPPCHECK_PATH=haha
+ SRC_TMP_PATH=asdf
+ xmlPath=test
+ cmd='haha/cppcheck asdf --xml 2>test'
+ echo haha/cppcheck asdf --xml '2>test'
haha/cppcheck asdf --xml 2>test
++ haha/cppcheck asdf --xml '2>test'
为什么'2>test'周围有一对单引号?由于单引号导致脚本无法正常运行。有谁知道?