Bash脚本当我不想要它时回复双引号

时间:2014-03-29 14:57:42

标签: bash echo quotes

我不知道这里发生了什么。我做的不仅仅是我的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

在交互式中输入此行时,它会按预期回显。

1 个答案:

答案 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;
相关问题