1

command not found何が問題なのかわからないエラーを受け取りました。私のコードに問題があると思います。ユーザーが支払いを入力する必要があります。最初のユーザーが ID を入力すると、プログラムはその ID を持つ人を見つけます。次に、プログラムは従業員のタイプ [サラリーマン、または時給] を見つけ、そこから if [$type="Salaried"]or' Hourly' コードに移動し、ユーザーにそれぞれのデータを入力するように促します。

どうすればそれを行うことができるか教えてください。

payroll()
{
  line=`grep -i "^${update_empID}," $data`
  empID=`echo $line | cut -d "," -f1`
  name=`echo $line | cut -d "," -f2`
  job=`echo $line | cut -d "," -f3`
  phone=`echo $line | cut -d "," -f4` 
  type=`echo $line | cut -d "," -f5`

   clear
   echo -e "Enter the pay"
   echo -en "Enter ID: "
   read empid_search

   #Check if particular entry to search for existed to perform deletion
   if [ `count_lines "^${empid_search},"` -eq 0 ]
   then
       echo "Error: This particular record does not exist!!"
   else
       echo "Please verify update of this employee's record: " #Prompt for confirmation of employee details
    echo
       echo "Employee's Details: "
       locate_lines "^${empid_search},"   #Find location of the entry     


   if [$type="Salaried"]
   then
    echo "$name is a Salaried"
    echo "Enter Salary :"
    read salary

     echo "${empID},${name},${job},${phone},${Type},${salary}" >> tmpfile ; mv tmpfile $data
       echo " particulars has been updated!!"
       fi      
    else
    echo "f"     
   fi

}

テキストファイル

3,Frak,IT,9765753,Salaried
1,May,CEO,9789292,Salaried
5,Samy,Sales user,92221312,Commission
2,Orange,cleaner,935233233,Hourly

エラー:

  line 371: [=Salaried]: command not found
4

1 に答える 1

5

これは問題の行です:

if [$type="Salaried"]

[との値を比較するときは、スペースが必要です]

if [ "$type" = "Salaried" ]
于 2013-11-04T15:32:18.587 に答える