我得到了:
(standard_in) 1: syntax error
(standard_in) 1: illegal character: S
(standard_in) 1: syntax error
(standard_in) 1: syntax error
错误类型。 我确信这必须是由不平衡的回声引起的,或者某种东西,但我的脚本中有100个因此很难调试。所以我做了一个调试输出的函数:
#!/bin/bash
myecho ()
{
echo -e $1;
if [ $? != 0 ]
then
dev=$(ps | awk '{print $2}')
dev="/dev/$dev" # get the... whatever /dev/pts/2 is
echo "echo -e \x22last echo failed:\\x60\\x27$1\\x27\\x60\x22 > $dev" | sh # format to escape the string so I can see it
exit 2;
fi
}
然后我会改变所有" echo -e"" myecho"。调试。它没有用。我想知道这是否可行,甚至可能出现问题,如果可以的话,我可以用调试功能进行调试。