从文件脚本错误添加用户帐户
问题描述:
可能重复:
Linux Script Extract Information From Excel To Create Users从文件脚本错误添加用户帐户
需要从excel电子表格创建用户,让上线8和13
在我的脚本中的几个误区第8行意外的EOF,同时寻找匹配的''' 第13行语法错误意外的文件结尾
#!bin/bash
echo $(pwd)/employeesdata.xls
Path=$($pwd)/employeesdata.xls
read Path
if [ -e $Path ];
then
Username= [ grep $(Username) $Path | cut -f1 -d `]'
Password= [ grep $(Password) $Path | cut -f2 -d `]'
useradd -- b $Username
echo $Password | /usr/bin/passwd --stdin $Username
fi
exit
Excel文件有这等信息
Name (field1) EmployeeID (field2) Phone Address
Joe Blow 22500033 156-454-3322 101 main
答
我认为你必须重构的几件事情:
#!bin/bash
echo $(pwd)/employeesdata.xls
Path="$(pwd)/employeesdata.xls"
read Path
if [ -e "$Path" ]; then
Username=$(grep "$Username" "$Path" | cut -f1 -d ' ')
Password=$(grep "$Password" "$Path" | cut -f2 -d ' ')
useradd -- b $Username
echo "$Password" | /usr/bin/passwd --stdin "$Username"
fi
exit
的几个注意事项:
- 报价您分配给变量的值(有时这不是必需的,但对于开始时它有助于避免一些问题)
- 引用变量的用法,除非你知道你在做什么。如果不明确引用它,变量可以为命令/函数生成各种参数。
-
$(cmd)
执行命令cmd
并用命令的输出替换它的出现。 -
$var
或${var}
替换其本身具有可变的命名var
-
"quoting $a"
内容,假设可变a
包含string
作为其内容,生成该字符串quoting string
。 -
'quoting $a'
,与变量a
无关,生成字符串quoting $a
。 - 令人困惑的是,它可能适用于新手,
[
实际上是test
命令的“别名”,它可用于比较字符串,整数,并执行一些基本测试,如检查权限或文件的存在。]
实际上只是一个语法的要求只是为了通知命令,它的参数已经结束(调用时。 - 我假定你的分隔符是一个空间,但我可能是错的。
希望这有助于一点= )
+0
+1进行痛苦的解释。不确定这个问题是否值得这种待遇,但请继续发帖!祝你们好运。 – shellter
这实际上是一个Excel电子表格或一些文本格式(如csv)。请减少你的脚本到你想要的。它看起来像你正在设置路径,然后阅读它。 – CrazyCasta
感谢**不crosspost **多次(格式错误)相同的问题。 http://*.com/questions/12664630/linux-script-extract-information-from-excel-to-create-users 这个脚本完全没有任何意义... –
所有我想要做的是读取数据,导出以使用用户名的名称创建用户帐户,然后使用employeeid作为密码。之后,我应该发电子邮件。 –