私はbashスクリプトの初心者です。Linuxボックスに自動でインストールおよび構成するためのbashスクリプトを作成したいと思います。
編集したいとします
/etc/yum.repos.d/epel.repo
bashスクリプトによる
私がやりたいことは次のとおりです
- ファイル/etc/yum.repos.d/epel.repoを開きます
- [epel]セクションを検索
- epelセクションのline enabled = 1の直後にline priority = 10を追加します
私は最初の部分に追加しました
yum install nano
nano /etc/yum.repos.d/epel.repo
私の質問は、nanoを使用してbashスクリプトで2番目と3番目の部分を行う方法です(可能であれば、不可能な場合はsedで表示します)
また、いくつかの時点で、ファイル内の変数を変更する必要があります
- enable = 0 to enable = 1
- テスト= "1"からテスト= "0"
- 行にテキストを追加します。functions = to function = "text1"、 "text2"
- ファイルにテキストを追加して保存します(nanoを使用)
私はその要求が厳しいことを知っていますが、サーバー管理に慣れている友人のためにこれを作成する必要があります残念ながら、私は試験のように最初からbashスクリプトを勉強する時間がないので、スクリプトを書くために例を使用します。
ほとんどのbashスクリプトを正常に完了したすべての返信に感謝します
しかし、私は別の問題は、私たちはworker_processesに対処しますsedを使用してnginx.conf変更したいとしましょいる
使用は、以下の1.Findに行うためにsedを今私が欲しい最初に出現するの worker_processes
というのconf内としてテキストを置き換えますworker_processes 4;
ここでの特別な注意:これは単なる例です。confにworker_processes 1が含まれている場合があります。。これは難しい部分です。worker_processesという単語の最初のwHOLE一致ケースを見つけ、その単語が見つかったテキスト行を削除し、worker_processes 4;
そこに貼り付けて ファイルを保存するsedコマンドが必要です。これは、ファイルを編集するときの最も信頼性の高い方法です(confを壊すリスクはありません)
最後の提案として、sed -i 's / enabled = 0 / enabled = 1 / g' /etc/yum.repos.d/remi.repoを使用して、remiの[remi]セクションでenabled = 0をenabled = 1に変更しました。 .repo。しかし、私はそれがそのファイルのすべてのenabled = 0を修正するかもしれないという感じがあり、サーバーを壊します。誰もがより良いコードを提案できますか。
私が確信していないもう1つのこと:PIは、Text Testing = "0"(はい、引用符があり、保持する必要があります)としてこれを含むファイルを編集したいTesting = "0"からTesting = "に変更する必要があります1 "(引用符付き)
また、 "Thanks Quanta"(quote)のようなsedのファイルの末尾に引用符付きのテキストを追加する必要があります。phpの場合は、引用符をエコーして\を入力します。
confの行を変更する必要がある別のことですが、置換されるテキスト全体が何であるか覚えていません
listen =何かのように。、listen = /tmp/php5-fpm.sock;に変更します。
アップクォンタムに大賛成
素晴らしいサポートをありがとう