我正在编写一个快速函数来显示一些帮助类型信息,但无论是否给出参数,它总是会运行:
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
给出相同的结果是否给出了论证。
答案 0 :(得分:1)
你忘了将参数传递给函数,或者调用函数:
help "$@"
另外请注意,最好为您的函数使用不同的名称,因为help
已用于内置函数。