You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下如何用BASH脚本将用户输入变量追加至文件以自动化添加VSFTPD用户

VSFTPD用户自动化添加的Bash实现方案

你当前的awk写法完全没踩中需求点——awk是用来处理已有文本的,要把用户输入的变量追加到文件末尾,根本没必要用awk或sed,用Bash基础命令就能搞定,简单高效。

核心实现方法

  • 先获取用户输入的变量(比如用户名):
    read -p "输入要添加的VSFTPD用户名: " centre_name
    
  • 直接将变量追加到目标文件末尾:
    echo "$centre_name" >> /etc/vsftpd-users
    
    要是VSFTPD用户文件采用用户名:密码的常见格式,可以扩展成:
    read -p "用户名: " ftp_user
    read -sp "密码: " ftp_pass
    echo
    echo "$ftp_user:$ftp_pass" >> /etc/vsftpd-users
    

非必要的sed实现(仅作参考)

如果非要用sed完成追加操作(纯学习用途),可以用:

sed -i "\$a $centre_name" /etc/vsftpd-users

解释:\$匹配文件最后一行,a是sed的追加指令,把变量内容插在最后一行之后。

完整自动化脚本示例

#!/bin/bash

# 检查是否为root用户(修改系统文件需要权限)
if [ "$(id -u)" -ne 0 ]; then
    echo "请以root身份运行此脚本"
    exit 1
fi

# 获取用户输入
read -p "请输入VSFTPD用户名: " ftp_user
read -sp "请输入用户密码: " ftp_pass
echo

# 追加到用户列表文件
echo "$ftp_user:$ftp_pass" >> /etc/vsftpd-users

# 重启VSFTPD服务生效
systemctl restart vsftpd

echo "用户 $ftp_user 已成功添加"

内容的提问来源于stack exchange,提问作者ID7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:05:23