説明する

説明する

/home/script の下には 187 個の bash スクリプトがあり、すべて次の行が含まれます。

kill -PIPE $PID 

以下のように、すべてのスクリプトでこの行の前に次の単語を追加します。

[[ $KILL_STATUS = YES ]] && kill -PIPE $PID 

その理由は、各スクリプトを編集せずにsedなどのLinuxコマンドを使用して一度に実行するためです。

答え1

$ for i in /home/scrript/*; do sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] \&\& kill -PIPE $PID/' "$i"; done

説明する

  • for i in /home/scrript/*; do FOO; done:のすべてのファイルに対してこの操作を繰り返します/home/scrript。シェル構成によっては、ドットファイルをスキップできます。
  • sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] \&\& kill -PIPE $PID/' "$i":各ファイル("$i")に対して "in-place"(sed -i)を。kill -PIPE $PIDに置き換えます。それ以外の場合は特別な意味があるため、[[ $KILL_STATUS = YES ]] \&\& kill -PIPE $PIDエスケープする必要があります。&

関連情報