大家好,我是 ubuntu 新手,所以我有一个任务,要编写一个脚本,从文本文件创建新用户。我遇到了一些问题,无法从文本中提取。你们能帮我吗?非常感谢。这是我的代码:
while [ $Username! = "" ]
do
Username=`grep "Username00$num" $Path | cut -f2 -d:` #Username
num=$(($num+1))
Password=`grep "Password" $Path | cut -f2 -d:`
Group=`grep "Group" $Path |cut -f2 -d:` #Group
groupadd $Group
问题出在第一行,我无法粘贴整个代码,因为有 160 行。
答案1
第一行的主要问题是空格不正确 - “不等于”需要是单个运算符,例如!=
而不是! =
,并且!
需要与它前面的变量分开。您还应该在任何字符串比较中引用变量,以防它包含空格
while [ "$Username" != "" ]
如果您发布文本文件的示例,几乎肯定有更好的方法来读取用户名/密码/组字段(而不是使用大量的grep
和cut
命令)。
答案2
我遇到了类似的问题(家庭作业)
我需要使用从文本文件中获取的详细信息来创建新用户,并且我只能使用 shellscripting 和 awk。
文本文件有这种格式
用户:1111:主目录
字段分隔符为“:”
我愿意提供任何帮助