在bash脚本中注释多行字符串中的行

时间:2015-11-19 23:30:47

标签: bash

我正在尝试编写一个导出数组的脚本,以下列方式循环:

export fields="
a,1
b,2
c,3
...
"

for i in $fields
do
  IFS=","
  set $i
  ...
done

有没有办法只在我正在使用的字段“元组”列表中注释掉一行?换句话说,如果我想运行它并跳过“b,2”,有没有办法在不删除该行的情况下注释掉这一行?

1 个答案:

答案 0 :(得分:1)

首先,定义一个每个元素有一行的数组(不需要导出它):

fields=(
  # a,1
  b,2
  c,3
)

请注意,您可以将注释行与其余元素分开。

然后,遍历数组的内容并使用read命令将每个元素拆分为两个字段:

for line in "${fields[@]}"; do
    IFS=, read f1 f2 <<< "$line"
    ...
done