需要 bash 脚本中的帮助,如果和大于



>i have

syntax error near unexpected token `elif'
`elif [[$# -gt 31]]

当我执行以下脚本(它来自"Fred Weinhaus"的脚本的一部分,用于文本清理器(由Python 3

if [ $# -eq 0 ]     then    # help information
echo ""
usage2
exit 0 elif [ $# -gt 31 ]               then    errMsg "--- TOO MANY ARGUMENTS WERE PROVIDED ---" else  while [ $# -gt 0 ]      do          # get parameter values          case "$1" in
-h|-help)    # help information
echo ""
usage2
exit 0
;;

我如何解决这个问题?

你的脚本有很多错误。我的修复可能不正确。 定义"用法2"。

#!/bin/bash
if [ $# -eq 0 ]; then    # help information
echo ""
#usage2
exit 0
elif [ $# -gt 31 ]; then
errMsg "--- TOO MANY ARGUMENTS WERE PROVIDED ---"
else while [ $# -gt 0 ]; do # get parameter values
case "$1" in
-h|-help) # help information
echo ""
#usage2
exit 0
;;                                                                                                         
esac
done
fi

第 201 行和第 206 行没有错误。 试试这段代码。

#!/bin/bash
usage2(){
# dummy
:
}
if [[ $# -eq 0 ]]
then
echo ""
usage2
exit 0
elif [[ $# -gt 31 ]]
then
errMsg "--- TOO MANY ARGUMENTS WERE PROVIDED ---"
else
while [[ $# -gt 0 ]]
do  
:
done                                  
fi

最新更新