使用功能无法正常工作

时间:2014-06-23 13:23:32

标签: bash function command-line-arguments conditional-statements

我正在编写一个快速函数来显示一些帮助类型信息,但无论是否给出参数,它总是会运行:

help(){
     if [ $# -eq 0 ] ; then
     echo ''
     echo '########################################################'
     echo ''
     echo 'Argument to run run name must be given: ./report.sh Name'
     echo ''
     echo 'Name can be:'
     echo ''
     ALLNAMES=$(awk -F'|' '{print $1}' $CONFIGFILE)
     echo "$ALLNAMES"
     echo ''
     echo '########################################################'
     echo ''
     exit 1
     fi

}

到目前为止,我所研究的条件语句是正确的,我只是简单地传递参数:

scriptname.sh argument1

给出相同的结果是否给出了论证。

1 个答案:

答案 0 :(得分:1)

你忘了将参数传递给函数,或者调用函数:

help "$@"

另外请注意,最好为您的函数使用不同的名称,因为help已用于内置函数。