Bash 脚本在文件结束后循环

Bash script looping after end of file

我的 bash 脚本要求用户提供他们的名字、姓氏、地址和 phone 号码,并将用户输入的这些信息写入格式为 [=14= 的文件中];但是我想重复多次(我实际上想做一些类似 do..while 循环的事情,它至少运行一次并询问用户是否要继续创建帐户,但我看到没有做。 ..虽然 bash 似乎)。因此,当我在终端中执行这个 bash 脚本时,它会询问要创建多少个帐户,我提供所有输入,但它只运行一次。我究竟做错了什么?这是我的脚本。

#!bin/bash

echo "How many accounts are you creating?"
read num
echo "Enter first name" 
read fName
echo "Enter last name"
read lName
echo "Enter address"
read add
echo "Enter phone number"
read phn
echo "Enter gender m for male and f for female"
read gender

if [ "$gender" == "m" ]
    then
        sex="male"
elif [ "$gender" == "f" ]
    then 
        sex="female"
else 
    echo"Invalid gender. Restart the script and enter a valid gender"
    exit 0
fi
for (( i = 0; i<=num; i++))
do
    cat > $fName.$lName <<-EOF
        Full Name: $fName $lName
        Address: $add
        Phone number: $phn
        Gender: $gender
    EOF
done

将您的输入代码放入循环中,或者将该代码包装在一个函数中并在循环中调用该函数。

zerobandwidth 的答案是正确的,但作为替代答案,实际上很容易做您最初想做的事情:

while true; do
    # Your account creation code goes here

    echo "Create another account (y/n)?"
    read another
    if [ "$another" != y ]; then
        break
    fi
done