我在第 7 行收到错误。有任何想法吗?我检查了是否有空格,没有。
#!/bin/bash
if test $# -eq 0
then
echo "No arguments"
elif test $# -eq 1
echo "$1"
elif test $# -eq 2
echo "$1 $2"
else
echo "More than 2 arguments"
fi
答案1
if/elif/else/fi 的语法要求then
每个“elif”后面有一个:
#!/bin/bash
if test "$#" -eq 0
then
printf 'No arguments\n'
elif test "$#" -eq 1
then
printf '%s\n' "$1"
elif test "$#" -eq 2
then
printf '%s %s\n' "$1" "$2"
else
printf 'More than 2 arguments\n'
fi
答案2
你需要一个then
之后elif
。
#!/bin/bash
if test $# -eq 0
then
echo "No arguments"
elif test $# -eq 1
then
echo "$1"
elif test $# -eq 2
then
echo "$1 $2"
else
echo "More than 2 arguments"
fi