EOF只是一个分界符,其实你完全可以用abcde替换,也一样的功能,只是大家都习惯用EOF来表示。
当shell看到<<的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,
直到shell又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。
===========================================================================================
function help() {
cat <<adbcd
xiaoluo
adbcd
}
结果:只会显示xiaoluo在终端上。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
1.
T=$(gettop)
echo $T 或者echo $(gettop)
显示:/home/hotdata/project/qiaode/android4.0
定义本地变量 local A
2.变量追加
A="$A $i"
3.`cat $T/build/envsetup.sh | sed -n "/^function /s/function \([a-z_]*\).*/\1/p" | sort`;
分析sed命令:sed -n "/^function /s/function \([a-z_]*\).*/\1/p"
功能:查找function开头的行,过滤掉function,将后面内容放在变量1中并打印出来
详解:
注释:1.sort 命令是按字母顺序排序分类。
2.正则表达式的用法?
============================================================================================
附件:
1、cat >file记录的是键盘输入,相当于从键盘创建文件,并且只能创建新文件,不能编辑已有文件.>是数据重导向,会将你输入的文本内容输出到file中。
2、cat <<EOF
EOF是"end of file",表示文本结束符。
【范例】 ##------>使用cat > file <<EOF实现多行文件的输出
/bin/mkdir -p /usr/local/nagios/etc
cat > /usr/local/nagios/etc/nrpe.cfg << EOFlog_facility=daemon
pid_file=/var/run/nrpe.pid
command_timeout=60
connection_timeout=300
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
EOF