予期しないトークンの近くでコマンドが見つからず、構文エラーが発生しました。

予期しないトークンの近くでコマンドが見つからず、構文エラーが発生しました。

ユーザーが入力した文字列を受け取り、ファイル名を要求し、その文字列がファイルに存在するかどうかを報告するシェルスクリプトを作成しようとしています。以下は現在のスクリプトです。

#!/bin/bash  
while :  
       do  
       echo "Please enter a string"  
       read input_string  
       echo "Please enter the file name to see if that string is present in it -  (Enter .abw after)"  
     read input_string1  
     grep -q "${input_string}" "${input_string1}"       
     if grep -q $input_string $input_string1 ; then  
         echo  "Your string has been found"    
     else   
         echo "Your string has not been found"  
      fi  
 done

スクリプトを実行すると、次のように表示されます。

Line 2: while:: command not found
Line 3: syntax error near unexpected token 'do'
Line 3: 'do'

誰もが私を正しい方向に指すことができればとても感謝します。

ベストアンサー1

実際には2つのgrep行は必要なく、代わりに次のように入力することもできます。

if grep -q "$input_string" "$input_string1" ; then

echo "Your string has been found"

else

echo "Your string has not been found"

fi

おすすめ記事