【发布时间】:2015-05-10 07:48:22
【问题描述】:
我需要“编写一个脚本以将用户添加到您的系统,其中用户的名称作为参数 n(in?,教授拼写错误)提供给脚本格式的文本文件
Last_Name First_Name Middle_Initial Group
(其余说明仅供参考)您的脚本应创建最多 8 个字符的唯一用户名,并生成 用户的随机密码。应为用户分配主目录 取决于他们所在的组。您可以假设用户将属于 管理层(“mgmt”)、员工(“empl”)或临时工(“temp”)以及他们的 相应的目录位于 /home 中的这些组名下。例如,如果 John Doe 是 在“mgmt.”中,他的用户名是 jdoe1234,那么他的主目录应该在 /home/mgmt/jdoe1234.锁定主目录,使其他人没有 对主目录的权限高于用户自己。 您的脚本应该生成一个名为 users.txt 的文件,其中包含以下列:
姓 名 UID 密码
可用于向用户分发用户名和密码。
第一部分(不是斜体)让我感到困惑。如果我正确理解他的措辞,他希望我从单独的 .txt 文件中获取文本并将其用作我的脚本的参数?与
./file.sh arg1 arg2 arg3 arg4
除了那些 args 将是 .txt 文件中的前四个单词?比如说,如果 .txt 文件包含“Doe John A empl”,那么它就像打字一样
./file.sh arg1 arg2 arg3 arg4
到目前为止,这是我的尝试(我实际上已经尝试过其他的东西,但这是我现在在屏幕上看到的,有点像我一开始的样子):
#!/bin/bash
echo "$(cat file.txt)"
lname=$(echo $1|head -c 3)//to make username use first 3 letters of last name
fname=$(echo $2|head -c 1)//to make username use first letter of first name
mname=$3
group=$4
echo "$lname$fname$mname$group"
截至目前,第一行以下的任何内容都没有任何作用。我从command line arguments from a file content 得到第一行并使用它,因为我认为它可以让我使用 .txt 文件中的内容作为参数,但它显然没有这样做。它只是输出它的内容,而不是让我使用每个单词作为参数。不知道该怎么办。有什么帮助吗?我认为这不会很困难,因为我开始编写脚本时假设用户会提供参数,但我重新阅读了说明的第一部分并假设他希望从单独的 .txt 文件中获取它们。
【问题讨论】:
-
//不是 shell 中的注释