echo $A和"$A"$ A=`echo -e "B\nC"`$ echo $A B C$ echo "$A"BC为什么这里使用$A打印出的就是B C,使用"$A"打印出B换行C?A的内容不是使用``封闭了么?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 06:02:03
echo$A和"$A"$A=`echo-e"B\nC"`$echo$ABC$echo"$A"BC为什么这里使用$A打印出的就是BC,使用"$A"打印出B换行C?A的内容不是使用``封闭了么?echo$

echo $A和"$A"$ A=`echo -e "B\nC"`$ echo $A B C$ echo "$A"BC为什么这里使用$A打印出的就是B C,使用"$A"打印出B换行C?A的内容不是使用``封闭了么?
echo $A和"$A"
$ A=`echo -e "B\nC"`
$ echo $A
B C
$ echo "$A"
B
C
为什么这里使用$A打印出的就是B C,使用"$A"打印出B换行C?A的内容不是使用``封闭了么?

echo $A和"$A"$ A=`echo -e "B\nC"`$ echo $A B C$ echo "$A"BC为什么这里使用$A打印出的就是B C,使用"$A"打印出B换行C?A的内容不是使用``封闭了么?
把命令行中的变量替换后展开看看就知道了.
A是个字符串,而回车符是一个不可见的特殊字符,只有在双引号中才有其本来的含义.
不在双引号中,类似的特殊字符都将被shell解释为空格,制表符 \t 也是一样.
` `的功能是表示优先执行其中的语句,不会关闭什么功能.
而在单引号中$的变量替换功能被关闭,你试试:echo '$A'
有些规律不是那么显而易见的,有些东西没有标准答案,需要自己去实践和摸索.希望不是凭借0悬赏而大肆提问.以上也是我自己总结的规律,
注意:低碳,环保,节省公共资源.你可以直接在线hi我,解决不了再提问 ;-)
观察了很长时间,今天终于还是决定再回答一次.
下面是我之前回答的链接.如果没理解,请继续追问,我也喜欢探究.但我会寻找一个度,寻求一个平衡.毕竟探究是永无止境的,而时间和精力是有限的.