询问bash脚本的含义

时间:2011-10-14 13:39:39

标签: linux bash shell

我有一个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开始的部分有关,我不太明白它的含义,也看不出它是如何被使用的。

3 个答案:

答案 0 :(得分:4)

<<heredoc构造,cat是结束标记(在本例中为EOF)到stdout的所有内容。

${0}是输入文件的名称,这将在stdout中打印如下内容:

application.sh [-d]
    -d      :debug

顺便说一句,你错过了}

答案 1 :(得分:1)

除了trojanfoe所说的,_usage()是一个shell函数。

但它永远不会被调用,应用程序本身也不会被调用,所以我认为这只是脚本的一部分。

答案 2 :(得分:0)

_usage函数可能来自其上方的${profile}脚本。

请注意,您可能希望将其放在source行之前,因为严格来说,必须在使用之前对其进行定义。