Bashスクリプトを使用してファイルの行を編集しますか?

Bashスクリプトを使用してファイルの行を編集しますか?

VSFTPD / FTPをインストールするbashスクリプトを作成しています。インストール後、「/etc/vsftpd/vsftpd.conf」ファイルでいくつかの構成を実行する必要があります。

これには、次の行が次のように設定されていることを確認することが含まれます。

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES

インストール後にこれらの編集を実行するスクリプトを書くための最良の方法は何ですか?

答え1

私は値sedを変更するこのbashファイルを非常に強く使用します。

  #!/bin/bash

  path_to_conf="/path/to/vsftpd.conf"
  anonymous_=NEIN
  local_=JA
  chroot_=IDK

  sed -c -i "s/\("anonymous_enable" *= *\).*/\1$anonymous_/" $path_to_conf
  sed -c -i "s/\("local_enable" *= *\).*/\1$local_/" $path_to_conf
  sed -c -i "s/\("chroot_local_user" *= *\).*/\1$chroot_/" $path_to_conf

多くの変数を変更する必要がある場合は、ループを使用して変更できますが、3つのキーのみを使用することをお勧めします(私の考えでは)。

関連情報