我有在 bash 中执行一些条件的代码:
firstchar=$(head -c 1 /tmp/project.json)
if [ $? -eq 0 ] then;
echo "Hooray! nothing found"
elif [ $? -eq 1 ]; then
#check single project
if [[ $firstchar == "{" ]]; then
echo "SINGLE PROJECT"
elif [[ $firstchar == "[" ]]; then
echo "MULTIPROJECT"
else
echo "didnot get a single or multiproject"
fi
elif [ $? -eq 2 ] then;
echo "An error occurred, please contact me"
elif [ $? -eq 3 ] then;
echo "lah"
else
echo "Something else occurred on file"
fi
为什么它无法执行提及:7: syntax error near unexpected token elif'
谢谢
答案1
问题在于if [ $? -eq 0 ] then;
这应该是if [ $? -eq 0 ] ; then
其中一些是对的,但有一些是错的。
它不喜欢的原因elif
是因为它是测试的一部分if
,因为没有启动声明then
。