首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BASH中文本文件中的多个变量

BASH中文本文件中的多个变量
EN

Stack Overflow用户
提问于 2013-12-04 05:30:02
回答 2查看 1K关注 0票数 0

我正在从一个文本文件向服务器中写入一个RSH脚本,并在每个系统上创建一个特定的用户。我在一所大学工作,该大学目前正在为他们的课程测试亚马逊EC2。是否可以在文本文件中使用冒号或逗号分隔值,如下所示:

代码语言:javascript
复制
    server.edu:user123:John:email@university.edu

并将它们作为$server $username等传递给BASH脚本。

EN

回答 2

Stack Overflow用户

发布于 2013-12-04 05:32:30

是的,你可以这样使用它:

代码语言:javascript
复制
> 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::

代码语言:javascript
复制
while IFS=: read server username email; do
   echo "$server"
   echo "$username"
   echo "$email"
done < file
票数 1
EN

Stack Overflow用户

发布于 2013-12-04 05:51:10

可以直接将文件中以冒号分隔的数据行读取到数组中,并对其进行索引:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20362069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档