首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shell语法IFS

Shell语法IFS
EN

Stack Overflow用户
提问于 2016-08-01 16:27:08
回答 1查看 222关注 0票数 0

我试图运行一个简单的shell脚本示例:

代码语言:javascript
复制
STR="qwe;ert;rty;tii"
IFS=';' read -r NAMES <<< "$STR"

这将给出以下错误消息:

代码语言:javascript
复制
syntax error: got <&, expecting Word

我不太清楚为什么这不管用。我认为我使用的语法是正确的,我试着与其他例子进行比较,我发现语法几乎是相同的。

任何反馈都会有帮助

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-01 17:00:19

这是MKS bash,不是GNU bash。它不是真正的bash,也不支持真正的shell语法。

有非常好的构建(...well,相当合适)。用它们。

特别是,在实数bash中,将分号分隔的字符串拆分为一个名称数组:

代码语言:javascript
复制
str='qwe;ert;rty;tii'
IFS=';' read -r -a names <<<"$str"

然后您可以使用...which进行验证。

代码语言:javascript
复制
declare -p names

或发出一对一行的

代码语言:javascript
复制
printf '%s\n' "${names[@]}"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38703719

复制
相关文章

相似问题

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