Linux 为什么';我的shell命令使用卷曲/智能引号是否有效?

Linux 为什么';我的shell命令使用卷曲/智能引号是否有效?,linux,bash,shell,terminal,Linux,Bash,Shell,Terminal,我编写了以下shell脚本: #!/bin/bash total=0 echo “Please enter 10 numbers >” read VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8 VAR9 VAR10 total=$((VAR1+VAR2+VAR3+VAR4+VAR5+VAR6+VAR7+VAR8+VAR9+VAR10)) echo $total 在命令行命令中运行echo,例如(参见下文)会回显短语fine echo "Please ent

我编写了以下shell脚本:

#!/bin/bash
total=0
echo “Please enter 10 numbers >”
read VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8 VAR9 VAR10
total=$((VAR1+VAR2+VAR3+VAR4+VAR5+VAR6+VAR7+VAR8+VAR9+VAR10))
echo $total
在命令行命令中运行echo,例如(参见下文)会回显短语fine

echo "Please enter 10 numbers >”
但是,当我尝试运行shell脚本时,文本没有得到响应。脚本可以工作,如果我运行它并键入10个数字,则返回正确的总数,但如果您不知道如何键入数字,则此脚本没有用处! 通过运行,我再次检查了/bin/bash是否正确

echo $SHELL
它返回/bin/bash,所以我不确定问题出在哪里。

这是因为使用了对shell实际上没有语法意义的“引号”。因此,
正在将
echo
命令的输出重定向到名为
的文件中


关于马科斯 转到“系统首选项”,然后转到“键盘”。选择“文本”选项卡,然后取消选中“使用智能引号和短划线”


使用Microsoft应用程序 不要使用Office应用程序编辑代码,也不要通过Outlook或类似工具发送代码。这就是说,如果你必须在Office应用程序中键入代码而不被屏蔽,请输入自动更正选项;选择AutoFormat选项卡,取消选中“带智能引号的直接引号”

这是由于使用了对shell实际上没有语法意义的“引号”。因此,
正在将
echo
命令的输出重定向到名为
的文件中


关于马科斯 转到“系统首选项”,然后转到“键盘”。选择“文本”选项卡,然后取消选中“使用智能引号和短划线”


使用Microsoft应用程序
不要使用Office应用程序编辑代码,也不要通过Outlook或类似工具发送代码。这就是说,如果你必须在Office应用程序中键入代码而不被屏蔽,请输入自动更正选项;选择“自动套用格式”选项卡,然后取消选中“带智能引号的直接引号”

您如何运行脚本?您使用了错误的“您必须使用”,虽然很小但很微妙difference@thatotherguy./filename.txtDo
ls
。查看是否有一个名为
的文件包含您的输出。顺便说一句,我会抓住这个。(另一方面——不要对自己的变量使用所有大写名称;这是变量名称使用的名称空间,对操作系统或shell本身有意义)。如何运行脚本?您使用了错误的“必须使用”小而精difference@thatotherguy./filename.txtDo
ls
。查看是否有一个名为
的文件包含您的输出。顺便说一句,我会注意到这一点。(另一个注意事项是,不要对您自己的变量使用所有大写名称;变量名称使用的名称空间对操作系统或shell本身有意义)。还必须转到单个应用程序,然后转到“编辑>替换”并取消选中。感谢您的支持help@pxdr0,哪个应用程序?有价值的程序员编辑器(gVim、Emacs、Atom等)默认情况下不会有这样的行为;如果你有这样的行为,就值得特别指出。TextEdit。其他一些可能也是这样(可能只有苹果制造的?)还必须转到单个应用程序,然后转到编辑>替换并取消选中。感谢您的支持help@pxdr0,哪个应用程序?有价值的程序员编辑器(gVim、Emacs、Atom等)默认情况下不会有这样的行为;如果你有这样的行为,就值得特别指出。TextEdit。其他一些可能也是这样(可能只有苹果制造的?)