我一直在四处寻找,但找不到解决方案...
基本上,我有一个创建用户帐户的程序,我也可以使用命令行界面创建一个帐户。
我想要的是,当我使用命令行时,程序的其余部分不会运行。因为此刻,它创建了帐户,然后返回到菜单。
function menu {
echo "Welcome to OP-SYS Account creation. Please choose which mode you would like to continue in."
echo
echo "[1] Basic Account Creation"
echo "[2] Advanced Account Creation"
echo "[3] Exit"
echo
#Change user input to functions, reject others
read CHOICE #Load user input to variable
if [ "$CHOICE" = 1 ] || [ "$CHOICE" = 2 ] || [ "$CHOICE" = 3 ]; then
#Goto function opt#
opt"$CHOICE"
else
echo "That is not a valid entry. Returning you to the menu."
sleep 2
clear
menu
fi
}
#other code#
konsoleend() {
clear
#popd
}
username=$1
firstname=$2
surname=$3
password=$4
echo "$firstname" "$surname" >> "$username".log
echo "$password" >> "$username".log
curdate=$(date +'%d/%m/%Y %H:%M:%S')
echo "$curdate" >> "$username".log
#menu
konsoleend
menu
最佳答案
你所说的 a 和 a 之间的区别是什么意思一点都不清楚 “命令行界面”和“程序”,但也许您的意思只是如果没有为您要使用菜单的程序提供任何参数。如果是这样,只需写下:
test $# = 0 && menu
在脚本的最后一行而不只是菜单
关于linux - 如果在命令行上输入参数,不想玩函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30150892/