关于cat >file,cat <file <

关于cat >file,cat <file <
1.cat >file 记录的是键盘输入,相当于从键盘创建文件,并且只能创建新文件,不能编辑已有文件.>是数据重导向,会将你输入的文本内容输出到file中.
 
例如:

不会出现>提示符,直接输入回车,文字都会记录.ctrl+c或者ctrl+d才能退出.之后通过cat wyg,生成了wyg这个文件.

就可以查看刚才输入的内容.

2.cat <<EOF,

cat命令linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
EOF是"end of file",表示文本结束符。
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
 

注意:这里的<<是左方向的,并且会出现PS2的提示符>,并且在输入EOF后,会退出编辑状态并打印出编辑内容.其实<<EOF与EOF之间是为了限定内容范围,并无实际意义,相当于ctrl+d,还可以理解为将echo一行一行的内容整和到一起.但并不生成文件.

EOF只是标识,并不是固定不变的也可以用别的符号代替比如EEE等等。Cat << EOF  ...EOF 最后一个EOF一定顶格写,还有相关命令一定要顶格写,否则起不到ctrl+d的作用.

3.cat >file <<EOF

两条命令结合起来使用,既记录了键盘输入内容,同时又规定了结束符号之内的内容的范围
 

出现>命令提示符输入内容,输入EOF又可以结束本次输入,同时生成了wyg这个文件.
 

还有看到cat <<EOF| "|"之前是标准输入,之后为标准输出,再次输入EOF后结束,屏幕上还会打印出执行的命令内容.cat <<-EOF可以忽略掉TAB键.

注意这里的命令一定要紧跟"|"管道,或者用"\"转义符号,否则会提示找不到命令.

看起来,EOF就是是一个标识,分界符,方便脚本编辑.记录一下,备用.

文章采用了一些互联网的内容,感谢作者.

posted @ 2011-04-18 18:00  Charliee  阅读(4246)  评论(0编辑  收藏  举报