我正在通过文本文件向RSH编写脚本到服务器,并在每个系统上创建特定用户。我在一所目前正在测试Amazon EC2课程的大学工作。是否可以在文本文件中使用冒号或逗号分隔值,如下所示:
server.edu:user123:John:email@university.edu
并将它们作为$ server $ username等传递给BASH脚本......
答案 0 :(得分:1)
是的你可以像这样使用它:
> s='server.edu:user123:John:email@university.edu'
> IFS=: read server username email <<< "$s"
> echo "$server"
server.edu
> echo "$username"
user123
> echo "$email"
John:email@university.edu
EDIT :: 从文件逐行读取此数据
while IFS=: read server username email; do
echo "$server"
echo "$username"
echo "$email"
done < file
答案 1 :(得分:0)
可以直接从文件中读取冒号分隔数据的行并将其索引到其中:
while IFS=: read -a userdata; do
printf "server: %s\n" "${userdata[0]}"
printf "username: %s\n" "${userdata[1]}"
printf "name: %s\n" "${userdata[2]}"
printf "email: %s\n" "${userdata[3]}"
done < data_file