这是我脚本中的一个函数:
这只是我正在编写的脚本中的一个函数。基本上我试图让用户只输入一个参数,如果它不止一个它必须输出一个错误,如果它没有一个参数也是一个错误。当我运行脚本时,我得到:
a syntax error at the elif [ $# -ne 1]; then] line
最佳答案
正如我评论的那样,您的代码在第一个 if 语句中缺少一个 semi,并且 -ne 应该是一个 -eq。这是工作代码和一组测试用例:
$ cat student_check.sh
Student_Check() {
if [ $# -eq 0 ] ; then
echo "No file specified"
elif [ $# -eq 1 ] ; then
echo success
else
echo "Invalid input"
exit
fi
}
echo Test 0
Student_Check
echo Test 1
Student_Check 1
echo Test 2
Student_Check 1 2
$ ./student_check.sh
Test 0
No file specified
Test 1
success
Test 2
Invalid input
关于linux - 从一个参数和仅一个参数获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53385638/