最近偶然在gentoo的系统脚本中发现用EOF可以输出大段的文本,比如说要在Shell Script中向屏幕输出大段的文字提示,如果用echo那么每行首都要输入一个echo,这样不仅输入麻烦,而且影响脚本可读性.而用Shell的EOF可以解决这个问题.如下:
cat <<EOF
what text you want to display.
EOF
可以把需要显示的文本直接粘贴进去,这个结构一般用于脚本的usage提示(EOF可以是任意字符).
还可以用这个结构来从一个脚本生成另外一个脚本,也就是把cat输出重定向到另外一个文本中,然后给它加上可执行权限就可以了.
经过实验,可以这样:
cat<<EOF >a_son.sh
#!/bin/bash
#you Shell script writes here.
EOF
chmod +x a_son.sh
这个用一个脚本生成另一个的方法应该说是最简便的一个了吧?
0 Responses to “在Shell script中生成另一个Shell script(EOF)”
Leave a Reply