Linux

使用 bash 腳本編輯文件中的行?

  • November 24, 2014

我正在創建一個安裝 VSFTPD / FTP 的 bash 腳本。安裝後需要在“/etc/vsftpd/vsftpd.conf”文件中進行一些配置。

這包括確保將以下行設置為此:

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES

編寫腳本以在安裝後進行這些編輯的最佳方法是什麼?

我會使用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

如果您必須更改很多變數,則可以使用循環來完成此操作,但是只有三個鍵,這樣更好(在我看來)。

引用自:https://unix.stackexchange.com/questions/169714