关于cat >file,cat <file <
时间:2010-10-30 来源:小步前进
1.cat >file 记录的是键盘输入,相当于从键盘创建文件,并且只能创建新文件,不能编辑已有文件.>是数据重导向,会将你输入的文本内容输出到file中.
例如:
EOF是"end of file",表示文本结束符。 结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
不会出现>提示符,直接输入回车,文字都会记录.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就是是一个标识,分界符,方便脚本编辑.记录一下,备用.
转自: http://blog.chinaunix.net/u3/94191/showart_1944229.html
相关阅读 更多 +