2016-04-26 13 views
1

私のbashスクリプトでは、ユーザーに希望のディレクトリを入力して、そのディレクトリのファイルをループして、特定の文字列に一致する名前のファイルに対してコマンドを実行します。これはforループで、if文を入れ子にしています。構文ガイドやスタックオーバーフローで見つけられる他のサンプルに従って、構文やアクセス権のエラーを受け取っています。あなたは1行で、あなたが使用する必要がある場合はbashをしたい場合はネストされたifステートメントを使用したBashスクリプトforループ

process_files(){ 
    for i in /home/path/* 
    do 
    if $i == "string" 
    then 
     <command> 
    fi 
    done 
} 
process_files 
+0

'$ i ==" string "'が無効なシェル構文です。 –

+0

エラーを表示して、期待される結果を確認してください。例は理想的にはそのまま実行する必要があります。 – jdv

答えて

-1

を試してみてください;。例えば、$ i == "string"の場合。エコー "文字列"; fi。 forループと同じです。

+1

これは実際に問題を特定することなく尋ねられなかった質問に答えます。 – chepner

+0

OPのオリジナル投稿では、これが問題でした。 – ToonZ

+0

いいえ、これはポストのフォーマット上の問題でした。 – chepner

関連する問題