bash shell 脚本错误

bash shell 脚本错误

我认为关键字没有语法echo,即我们可以使用"'不使用引号。

我在 bash shell 中尝试了所有三种类型

我收到错误。为什么会发生这种情况?

{#Azar's first shell script
echo "Hi Azar, Welcome to the new world of technology for you"
echo 'default script bash'
echo keep going don't stop always}

错误:

 sh afs.sh
 Hi Azar, Welcome to the new world of technology for you
 default script bash
 afs.sh: 6: afs.sh: Syntax error: Unterminated quoted string

答案1

当您尝试

echo keep going don't stop always

语法错误中说明了原因

Unterminated quoted string

由于您使用了'in don't,Bash shell 会继续寻找另一个'结束句子的符号。由于始终找不到,因此会打印语法错误。

在这种情况下,您需要使用双引号(“”),如下所示

echo "keep going don't stop always"

一般情况下,打印某些内容时建议使用引号。如果需要,可以使用双引号',也可以使用单引号"

答案2

此外答案由 jiipeezz 提供给这个问题,您也可以使用反斜杠来转义单个字符。

echo keep going don\'t stop always

更多细节读这个

答案3

您的脚本看起来有错误。我尝试了相同的操作,但出现了“未找到命令”错误。

line 3: $'{#Azars first shell script\necho "Hi Azar, Welcome to the new world of technology for you"\necho default': command not found

此脚本按预期运行,没有任何错误。将您在“don't”中使用的引号转义为“don\'t”。这样您就不必在 echo 语句周围加上双引号。但将它们放在双引号中是一种很好的做法。

#Azar's first shell script
echo "Hi Azar, Welcome to the new world of technology for you"
echo 'default script bash' 
echo keep going don\'t stop always

该脚本的输出。

user@system:~/samplecode$ bash samplescript.sh
Hi Azar, Welcome to the new world of technology for you
default script bash
keep going don't stop always

祝您编写脚本愉快。

相关内容