【发布时间】:2017-09-06 18:36:47
【问题描述】:
我使用以下代码加载一些带有电子邮件的文本文件 并使用用户密码在系统中创建用户。 文本文件包含如下电子邮件
abc@gmail.com
BDD@gmail.com
ZZZ@gmail.com
如果名称带有大写,我将其转换为小写,我能够使其工作。 现在我需要支持另一个输入而不是电子邮件 例如
P123456
Z877777
但现在我不希望这种类型的输入将其转换为小写
有点像
if(emailpattern )
convert to lower
else
Not
这是有效的代码,但我未能使其工作......
for user in $(cat ${users} | awk -F";" '{ print $1 }'); do
user=$(echo ${user} | tr "[:upper:]" "[:lower:]")
log "cf create-user ${user} ${passwd}"
#Here we are creating email user in the sys
cf create-user ${user} ${passwd} 2>&1 |
tee -a ${dir}/${scriptname}.log ||
{ log "ERROR cf create-user ${user} failed" ;
errorcount=$[errorcount + 1]; }
done
【问题讨论】:
-
有些事情不清楚(对我来说)...您是否在同一个文件中混合了电子邮件地址和姓名(例如,
P123456)?您的示例代码中${users}的值是多少?${password}来自哪里?您想为各种类型的输入数据生成哪些实际 (bash) 命令? -
@markp - 可以混合,但可以只是电子邮件或只是名称...,用户是文件的内容,密码是一个常数
-
@john,请注意
${user}与"$user"非常不同——you want to use the latter syntax
标签: regex linux bash shell unix