首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么IFS=与IFS=不同“;”?

为什么IFS=与IFS=不同“;”?
EN

Stack Overflow用户
提问于 2022-08-08 14:54:54
回答 1查看 38关注 0票数 2

我注意到

代码语言:javascript
复制
IFS=;
read v1 v2 <<< "hey;hello"

在$v1中存储整个字符串“嘿嘿”

代码语言:javascript
复制
IFS=";"
read v1 v2 <<< "hey;hello"

是否执行预期的操作,即在$v1中存储"hey“,在$v2中存储"hello”

为什么会这样呢?据我所知,只要不涉及空格,就不需要在赋值字符串时使用引号

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 16:27:29

据我所知,只要不涉及空格,就不需要在赋值字符串时使用引号

赋值的右侧只禁用全局和字符串拆分;否则,它在语法上与任何其他上下文类似。

因此,需要引用的不仅仅是空格--当字符串包含的字符被解析为某种语法时,仍然需要引号(除了在上下文中被压缩的两种类型的扩展之外),这些字符是您想要避免的。

;是一个命令分隔符;因此,当未引用时,它将终止当前命令。因此,您需要在这里引用或转义它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73279902

复制
相关文章

相似问题

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