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
その後、1つが必要です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