为什么ksh允许不成对的引号而bash不允许?

前端之家收集整理的这篇文章主要介绍了为什么ksh允许不成对的引号而bash不允许?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我执行以下命令时,在bash shell上我得到错误,但在Korn shell上它运行得很好.唯一的区别是在awk结束时缺少单引号,在}之后.你能帮我理解为什么吗?
echo `echo "a b c d" | awk '{ print $1 }`
在Korn shell中,后退标记和引号都可以保持不匹配,标记器将尝试猜测其中任何一个将结束并相应地匹配它们.

例子:

/home/ufierro # echo "`echo ah" 
+ echo ah
+ echo ah
ah

/home/ufierro # echo `echo 'hello world` 
+ echo 'hello world'
+ echo hello world
hello world

请注意两个示例如何显示上述行为的不同情况.第一个示例显示了如何在解析期间完成双引号内的单个返回刻度,第二个示例显示如何完成后面刻度内的单个引号.

原文链接:https://www.f2er.com/bash/384766.html

猜你在找的Bash相关文章