我有一个shell脚本application.sh
,如下所示。
#! /bin/busybox sh
set -o nounset -o errexit
readonly emul_script="/usr/local/bin/emul.sh"
readonly profile="/etc/vendor/profile"
source "${profile}"
_usage() {
cat << EOF
${0} [-d]
-d :debug
EOF
上面的脚本启动了一个特定的应用程序。我的问题与从_usage
开始的部分有关,我不太明白它的含义,也看不出它是如何被使用的。
答案 0 :(得分:4)
<<
是heredoc构造,cat
是结束标记(在本例中为EOF
)到stdout的所有内容。
${0}
是输入文件的名称,这将在stdout中打印如下内容:
application.sh [-d]
-d :debug
顺便说一句,你错过了}
。
答案 1 :(得分:1)
除了trojanfoe所说的,_usage()
是一个shell函数。
但它永远不会被调用,应用程序本身也不会被调用,所以我认为这只是脚本的一部分。
答案 2 :(得分:0)
_usage
函数可能来自其上方的${profile}
脚本。
请注意,您可能希望将其放在source
行之前,因为严格来说,必须在使用之前对其进行定义。