lighttpd ポートを変更する Bash スクリプト

lighttpd ポートを変更する Bash スクリプト

わかりました。もう一つの質問です。ポートをインポートし、それを置き換えて構成ファイルに入れるスクリプトを作成しています。例えば。

このコマンドを実行すると...(cat /var/log/lighttpd/access.log | tail -1)最後の行は数字12です。次に、(sed -i's/8162/81 ??????/' /etc/lighttpd/lighttpd.conf)からcat(/var/log/lighttpd/access.log | tail -1)を出力しますしたいです。ポート8162と/8112は12です。デフォルトでは、出力 12 を取得し、新しいポート 8112 を生成します。変数などを生成するにはどうすればよいですか? awkは便利ですか?あるいは、順番に何かをする必要があるかもしれません。わかりません。どんなアイデアや考えがありますか? ? ?

ベストアンサー1

次の方法を試してください。

  1. キャプチャ12変数: var=$(cat /var/log/lighttpd/access.log | tail -1)、その後
  2. これをsedコマンドに入れます。

    sed -i.bak "s/8162/81$var/" /etc/lighttpd/lighttpd.conf
    

    または

  3. cat次に、sedにコマンドラインを追加します。

    sed -i.bak "s/8162/81$(cat /var/log/lighttpd/access.log | tail -1)/" /etc/lighttpd/lighttpd.conf
    

警告する:

  1. この構文に問題が発生した場合に備えて、必ずバックアップを作成してください。

    sed -i.bak "s/8162/81$(cat /var/log/lighttpd/access.log | tail -1)/" /etc/lighttpd/lighttpd.conf
    
  2. 使用された二重引用符に注意してください"。二重引用符がない場合、コマンドは変数を処理しないか、$(cat /var/log/lighttpd/access.log | tail -1)

おすすめ記事