bash特定语法的说明

z

遇到了这段代码:

for entry in $(echo $tmp | tr ';' '\n')
do
echo $entry
  rproj="${entry%%,*}"
  rhash="${entry##*,}"
  remoteproj[$rproj]=$rhash
done

因此,我确实理解最初是“;” 转换为新行,以便文件中的所有条目都位于单独的行上。但是,我是第一次看到这种情况:

rproj="${entry%%,*}"
rhash="${entry##*,}"

我确实知道这会占用','之前和之后的所有内容,逗号','之后。但是,这比拆分更有效吗?另外,如果有人请解释语法,因为我无法将其与正则表达式或bash语法联系起来。

hek2mgl

这些是字符串操作运算符

${string##substring}

从$ string的前面删除$ substring的最长匹配项。

表示它将删除第一个逗号之前的所有内容,包括它

${string%%substring}

从$ string的后面删除$ substring的最长匹配项。

表示它将删除最后一个逗号之后的所有内容,包括它


顺便说一句,我将使用内部字段分隔符代替tr命令:

IFS=';'
for entry in $tmp ; do
    echo $entry
    rproj="${entry%%,*}"
    rhash="${entry##*,}"
    remoteproj[$rproj]=$rhash
done
unset IFS

这样

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中的特定语法构造

来自分类Dev

在特定语法后替换名称

来自分类Dev

为特定语法禁用Sublime Text Minimap

来自分类Dev

通过对特定语法进行解析无法获得预期的结果

来自分类Dev

特定语言的无上下文语法

来自分类Dev

我的Angular应用仅适用于特定语法

来自分类Dev

我在理解特定语法时遇到麻烦

来自分类Dev

特定语言的上下文相关语法

来自分类Dev

特定语言的无上下文语法

来自分类Dev

为特定语言创建上下文无关的语法

来自分类Dev

使用preg_match验证特定语法

来自分类Dev

使用特定语法将Java对象转换为JSON

来自分类Dev

关于 C 中 while 中特定语法的问题

来自分类Dev

vim:通过命令行参数强制使用特定语法

来自分类Dev

使用特定语法序列化ActiveRecord中的自定义类

来自分类Dev

使用python特定语法解析大文本文件

来自分类Dev

无法使url函数与django中的特定语法一起使用

来自分类Dev

使用 f3write 确定 USB 驱动器大小:特定语法

来自分类Dev

用:as指定绑定语法

来自分类Dev

scalaz中的绑定语法

来自分类Dev

敲除组件绑定语法

来自分类Dev

JAXB“未指定语法”

来自分类Dev

特定语言的Ubuntu

来自分类Dev

语法说明(点语法)

来自分类Dev

如何在Sublime Text 3中为特定语法设置保存文件的默认文件扩展名

来自分类Dev

Google电子表格:用于检查单元格中的公式是否包含特定语法的条件格式

来自分类Dev

如何删除包含特定语法的行,但我想避免包含另一个单词的行

来自分类Dev

Android的特定语言布局

来自分类Dev

与特定语言的深层链接