日期:2014-05-16  浏览次数:20616 次

EOF 谁能帮我解释下什么意思
cat > /boot/grub/menu.lst << "EOF"
输入的内容

EOF

还有
cat > /boot/grub/menu.lst << !EOF
输入的内容

EOF

 2者的区别?

------解决方案--------------------
第一句正确 意识是把到EOF为止的内容当作标准输入传给程序 也就是传给cat了 然后又定向到/boot/grub/menu.lst了
其实这里的EOF 并不是C语言里的那个EOF的作用 只是意思类似 所以写这个的人用EOF结束符来让人易懂 可是反而误导了观众 其实可以换成别的 比如END OK之类的

第二句在shell是错误的 因为感叹号的作用大概有3种
1、非号 把退出状态变成由0变成1 由等于变成不等 = ,!=
2、间接变量参考 这个我也有点不懂
3、两个! 即!! 表示上一个命令 比如你输入ls之后 再执行!! 就会再执行一下ls