【发布时间】:2026-01-16 19:10:02
【问题描述】:
我是 bash 脚本的初学者,我创建了一个 bash 脚本来在 Linux 上添加和删除用户。 但是,由于我在脚本方面遇到了一些问题,但并不是真正的重大问题,但如果有人能指出我如何改进脚本以及我正在编写脚本的最糟糕的做法会有所帮助
但是我注意到的问题是脚本需要 -a 来添加用户 -d 来删除用户和 -h 来获得帮助 -a 标志作为 2 个可选参数 -p 用于密码,-s 用于外壳所以命令将是
./useradd.sh -a user -p password -s shell
这按预期工作,用户已添加到系统中,但我面临的问题是,如果我不输入 -a 标志并指定 -s 和 -p 标志,则脚本刚刚退出我想显示让用户清楚地知道为什么它退出了,我假设有这么多这样的错误,但我没有对它进行太多测试,任何帮助将不胜感激,所以这是我的脚本
https://github.com/abhijith7025/bash_scripts/blob/master/useradd.sh
【问题讨论】:
-
因为你不能给不存在的用户附加密码?
-
如果我运行 ./useradd.sh -s /bin/sh -p blahblahblah 脚本刚刚退出,我希望它能够解决一个错误,说 -a 或 -d 或 - h 未使用,如果使用 -a 必须是第一个参数
-
那么,基本上你的问题归结为 bash 中的命令行处理?这是一个简单的编程问题,您可以将其隔离为minimal reproducible example。特别是,当只有命令行处理是问题时,删除所有不相关的部分,可能是操作的要点。作为这里的新用户,也可以使用tour 并阅读How to Ask。
标签: linux bash scripting shell sysadmin