【发布时间】:2016-10-06 18:58:19
【问题描述】:
我浏览了基于字符拆分输入的问题,但无法根据条件确定多个字符:
假设我有一个简单的 bash 脚本,它将以空格分隔的输入拆分为一个数组:
echo "Terms:"
read terms // foo bar hello world
array=(${terms// / }) // ["foo", "bar", "hello", "world"]
我想要一个额外的条件,如果术语被另一个字符封装,则整个短语应该被拆分为一个。
例如用反勾号封装:
echo "Terms:"
read terms // foo bar `hello world`
{conditional here} // ["foo", "bar", "hello world"]
【问题讨论】:
-
foo bar `hello world`中没有不同的分隔符 -
@anubhava 感谢您的澄清。根据 bash,我没有得到关于什么是分隔符的任何具体定义,所以据我所知,我认为它与用于拆分输入的字符同义。我编辑了我的问题。
-
Backtick 用于 BASH 或 POSIX 中的命令替换。您可能可以使用单引号,例如
foo bar 'hello world' -
有趣,很高兴知道。