linux - 我想在从文件创建的每个用户名的末尾添加 2 个随机数。我将如何在 bash 中执行此操作?
问题描述
!#/bin/bash
echo "which list of names would you like to add?"
read file
USER_LIST="(cut -d " " -f 1,2,3 $file --output-delimeter='.') "
echo "$USER_LIST | while read user; do echo "useradd "$user"";
done
使用 userlist.txt 詹姆斯邦德本阿弗莱克约翰斯图尔特阿卜杜勒拉希姆穆罕默德
电流输出
james.bond
ben.afflack
john.stewart
abdul.rahim.muhammad
期望的输出
james.bond22
ben.afflack13
john.stewart11
abdul.rahim.muhammad83
将数字添加到末尾的最简单方法是什么?我正在考虑按照 .$((RANDOM%10)).$((RANDOM%10)) 的方式做一些事情
任何帮助深表感谢。谢谢
解决方案
使用 $RANDOM,您走在正确的轨道上,但是它比您想象的要容易。我能够通过以下方式做到这一点:
user=james.bond
rand=${RANDOM:0:2}
if [ ${#rand} -lt 2 ]
then
rand=0$rand
fi
user=$user$rand
这会将用户设置为james.bond23
(或其他一些 2 位数字)。您只需使用参数扩展来挑选由 $RANDOM 生成的前两个数字。
推荐阅读
- azure-devops - 如何模拟 CI 代理/服务器?
- php - 如果表单提交出错,如何返回在动态表文本框中输入的值
- java - 总是'-1 输出',在 HackerRank“电子商店”问题中
- git - 包含子模块文件夹的分叉 GitHub 存储库的问题
- ssl-certificate - 将区域 AWS IoT 核心锁定到特定 CA
- python-3.x - Boto3 没有从 aws-cli 没有问题的凭证中承担 IAM 角色
- python-3.x - 调用大数据集时netCDF4错误HDF错误?
- python - 使用 pandax corr 矩阵获取 KeyError
- vue.js - 可重用的 Vue 组件 props 传递
- undefined - 响应式语句一旦遇到未定义的变量就会引发错误。如何预防?