我正在制作一个从文件中获取输入的循环,以确定是否允许用户使用特定程序。
#!/bin/bash
boole=false
echo "Username: "
read username
echo "debug0"
for((line=1; $boole=false; line++)); do
echo "debug.5"
auth=`head -n $line users | tail -n $line`
echo "debug1"
if [ $username = $auth ]; then
echo "debug2"
echo "authentication success"
read
exit 0
fi
if [ $auth = "#end" ]; then
echo "debug3"
echo "authentication failed"
read
exit 0
fi
done
echo "skip everything"
输出是
Username:
admin
debug0
skip everything
与用户的文件有
root
admin
...
#end
#end
并且boole
应该告诉循环结束
这只是调试阶段,所以它实际上并没有执行任何程序,它只是应该告诉我是否允许用户使用它。