linux - 从 bash 脚本中的文本文件添加新用户

标签 linux bash

我是脚本编写新手,我不确定我的脚本出了什么问题。我还没有添加 groupadd 或 useradd 命令来实际添加用户,但一旦我让这部分工作,我就会这样做。到目前为止我已经:

!#/bin/bash

if [$# -ne 0 ]
then
    echo "usage: $0 < file'
    exit 1
fi

first=cut -f 1 -d ',' user_list
last=cut -f 2 -d ',' user_list
lastl=cut -f 2 -d ',' user_list | head -c 1

usern=$first $lastl | tr 'A-Z' 'a-z'
tname=$first $last
while read line; do
    echo "adding $tname : $usern\n"
done < user_text

输出应该类似于添加 Jet Black: jetb,但它的内容到处都是。关于我做错了什么的任何帮助或提示都会有很大帮助。

最佳答案

您可以通过阅读 IFS 变量在分词中的作用来使其变得更简单,然后编写如下内容:

while IFS=, read first last
do
  usern=$(echo "${first}${last:0:1}" | tr [:upper:] [:lower:])
  tname="${first} ${last}"
  echo "adding ${tname} : ${usern}"
done

其中还有一些需要研究的内容 - 子字符串扩展 (${last:0:1})、tr 的字符类([:upper:] 等)、捕获命令的输出 ($(...))。

关于linux - 从 bash 脚本中的文本文件添加新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15393599/

相关文章:

c++ - 防止检查时间到使用时间?

linux - Shell 脚本中 -n、-z、-x、-L、-d 等的含义是什么?

linux - 如何下载具有前一天名称的文件

windows - 为什么 "MINGW64"出现在我的 Git bash 上?

linux - 语言翻译与qt版本无关

linux - Linux 中的路径名查找?

python - 如何从 python 脚本执行 cd 命令并在新终端中执行其他命令?

linux - 我需要安装 unison 多少次?

linux - tmux - 禁用连接/分离时的蜂鸣声

bash - 逐步更改 .csv 文件中的日期和数据单元格