可能重复:
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
答案 0 :(得分:1)
我认为你必须重构一些事情:
#!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
命令的“别名”,它可用于比较字符串,整数,并执行一些基本测试,例如检查权限或文件的存在。 ]
实际上只是一个语法要求,只是为了通知命令它的参数已经结束(当被调用时。希望这有点帮助=)