我不知道这里发生了什么。我做的不仅仅是我的bash脚本。搜索过去的问题只是让人们问如何使报价持久。
当回显到/ dev / tty时,引号也会回显。
示例:
#!/bin/sh
OLDIFS=$IFS
IFS=$'\n'
currentfile=This.File;
echo 'About to output' > /dev/tty;
echo “The Currect File is $currentfile” > /dev/tty;
IFS=$OLDIFS
会回应:
\#'About to output'
\#"The Currect File is ??
如果我在$ currectfile之后放一个空格,我会得到一个更正确的但不是我想要的:
\#'About to output'
\#"The Currect File is This.File "
我期待的输出只是:
\#About to output
\#The Currect File is This.File
在交互式中输入此行时,它会按预期回显。
答案 0 :(得分:2)
让我们通过shellcheck运行您的代码,以自动检查常见问题:
echo “The Currect File is $currentfile” > /dev/tty;
^-- SC1015: This is a unicode double quote. Delete and retype it.
让我们这样做:
echo "The Currect File is $currentfile" > /dev/tty;