【发布时间】:2014-08-13 13:30:54
【问题描述】:
我正在编写一个快速函数来显示一些帮助类型信息,但是无论是否给出参数,它都会运行:
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 参数1
无论是否给出参数,都会给出相同的结果。
【问题讨论】:
-
因为这看起来像一个函数,
$#指的是传递给函数的参数数量,而不是脚本
标签: bash function command-line-arguments conditional-statements