bash脚本。如何添加用户';将选择转换为txt文件

bash脚本。如何添加用户';将选择转换为txt文件,bash,Bash,我想让用户输入选项1-3,然后保存,然后与其他输入一起输入到.txt文件中。我试过使用开关,但似乎不起作用。。 只是bash程序的初学者 echo "Select the Employee Type:" echo "1- Salaried Employee" echo "2- Hourly Employee" echo "3- Commission Employee" echo -en "Enter Selection: " read choice case $choice in

我想让用户输入选项1-3,然后保存,然后与其他输入一起输入到.txt文件中。我试过使用开关,但似乎不起作用。。 只是bash程序的初学者

    echo  "Select the Employee Type:"
echo "1- Salaried Employee"
echo "2- Hourly Employee"
echo "3- Commission Employee"
echo -en "Enter Selection: "
read choice

 case $choice in
         "1")  
    Type="Salaried Employee"
      break
      ;;
      "2") 
    Type = "Hourly Employee"
      break
      ;;
      "3") 
    Type ="Commission Employee"
      break
      ;;
          *) echo "Error: Please enter a choice between 1 - 7"
             echo -en "Hit [Enter] to return..."
             read
           ;;
  esac

   `if [ `count_lines "^${Name},"` -ne 0 ]                                                
   then
       echo "Error: Entry already exist!!"
   else 
       confirm "Are you sure you want to add the entry?[y/n]" 
       if [ $? -ne 0 ]
       then
           echo "Previous entry not updated!"           
       else 
           echo "Record is updated with new employee!!"
           echo "${Name},${Job},${Department},${Salary},${Type}" >> $PAYROLL
       fi       
   fi`

此脚本有几个问题:

  • 在案例备选方案的末尾,只有
    --no
    break
    (跳出do/for/while)
  • if
    前面和
    fi
    后面有一个额外的反勾号,导致语法错误;移除它们
  • Type=“Hourly Employee”
    Type=“Commission Employee”

脚本中是否真的有“字符”,或者您添加这些字符只是为了使其在Stackoverflow上正确显示?请给我们一个简单但完整的脚本。您定义了几个未在脚本中定义的变量($Name,$Job,…)和函数(count_行)。我不明白具体的问题…另一个变量在起作用,直到我添加了最后一个变量“员工类型”嗨,谢谢你指出这一点。。我已经编辑过了。但似乎我仍然无法将用户的选择保存到database.txt文件中,以便进行正确的诊断。您需要准确地告诉我们您的脚本是什么、输入了什么、预期的消息以及shell实际输出的消息和错误。不要打字,剪切粘贴。