我正在研究读取文件的用户名和密码并将其输入以添加用户或删除用户的方法。
EG:我有一个名为“userlist”的文件,其中包含以下格式的内容:
user1 pass1
user2 pass2
user3 pass3
我完全不明白如何使用 BASH 脚本添加这些帐户。
到目前为止我所拥有的是:
if [[ whoami -ne "root" ]]
then
exit
else
echo "wish to add or delete? a/d"
read uArg
echo "enter file name"
read uFile
if [ $uArg = "a" -o $uArg = "A" ]
then
IDK WHAT TO DO HERE.
elif [ $uArg = "d" -o $uArg = "D" ]
then
IDK WHAT TO DO HERE.
fi
fi
好吧,我不明白的是如何逐行读取每个单词并输入用户名和密码来添加新用户或删除现有用户。
程序将读取整个文件并添加每个用户及其相应的密码。如果选择删除,则会删除文件中的每个用户。
我是 BASH 新手,因此我们将不胜感激任何帮助。
最佳答案
awk
完美满足您的需求。
请参阅此示例:
$ awk '{print "Hi! my name is " $1 ", and my pass is " $2}' ./userpass.txt
Hi! my name is user1, and my pass is pass1
Hi! my name is user2, and my pass is pass2
Hi! my name is user3, and my pass is pass3
awk 将用户名存储在 $1 中,将密码存储在 $2 中(第一列和第二列)。
您可以使用管道来执行从 awk 获取的字符串作为命令:
$ awk '{print "echo " $1}' ./userpass.txt | /bin/bash
user1
user2
user3
关于linux - 从文件中读取用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12400299/