我可能错误使用了readonly ,有怪事

我可能错误使用了readonly ,有怪事

我可能错误使用了readonly ,有怪事!

in bash:

input:

name=lu;echo name;echo $name>

输出结果应该是

name
lu

但是以下结果:

-bash:name:readonly variable


我该怎么办??      
echo "name"      
怪事!


我重启后恢复正常了。

input:

name=lu;echo name;echo $name>

输出结果是

name
lu

echo "name"==echo name      
那可能是你以前设过或者运行的某个程序设置过name为readonly。
如下实例:

[root@QASuse root]name="EDEN"
[root@QASuse root]readonly name
[root@QASuse root]name="LinuxEden"
bash: name: readonly variable
[root@QASuse root]unset name
bash: unset: name: cannot unset: readonly variable
[root@QASuse root]exit

login again...

[root@QASuse root]name="LinuxEden"
[root@QASuse root]echo $name
LinuxEden
[root@QASuse root]

你在某个SHELL里面设置的变量随着这shell的结束而消失的。除非你把它放在~/.bashrc之类的shell启动脚本中。