(1)cat和EOF简介
cat 用于显示文本文件内容,全部输出
EOF “end of file”,表示文本结束符
(2)使用
用法1.多行导入文件(新建文件或者覆盖文件内容)
cat<abcd.txt
Hello!
This is a test file!
Test for cat and EOF!
EOF
来看下执行结果
cat abcd.txt
Hello!
This is a test file!
Test for cat and EOF!
这就是多行导入!
用法2.文件追加
cat << EOF >> test.sh
(3)说明
其实可以用其他字符来代替EOF,它也只是个标识符而已!
如果cat内容中带有 $变量的时候会将$和变量名变成空格,想到到转义字符\添加之后可以搞定。同样cat <
例如
cat<>/home/oracle/.bash_profile
PATH=\$PATH:\$HOME/bin
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=\$ORACLE_BASE/10.2.0/db_1
exportORACLE_SID=yqpt
exportPATH=\$PATH:\$ORACLE_HOME/bin
exportNLS_LANG="AMERICAN_AMERICA.AL32UTF8"
EOF
如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识
# cat > test.txt
abcd
dcba
eftf
Ctrl-D
再举一个例子:
cat > /etc/zabbix/check_fs.sh <
#!/bin/sh
testfile="/test.tmp"
touch \$testfile >/dev/null
if [ -f "\$testfile" ]
then
rm -rf \$testfile
echo "1"
else
echo "0"
fi
EOF