使用 gh cli 创建问题列表
use gh cli to create issues list
我正在尝试从 GitHub 创建一组未解决的问题编号。我正在使用以下命令提取特定回购和标签中所有已打开的问题编号:
issueNumList=$(gh issue list -R <repo name> -l "label" | cut -f1)
问题是我无法从列表中读取 issueNumList(很明显)。
我尝试通过 运行 这个命令将它变成一个数组,但它只得到第一个数字:
IFS=' \n' read -ra issuesArray <<< "${issueNumList[0]}"
我尝试多次更改此命令,但我没有看到输出有任何差异。这是我得到的输出:
$ echo ${issueNumList[0]}
1684 1683 1681 1680 1679 1678 1677 1676 1675 1674 1673 1672 1671 1670 1669 1668 1667
$ echo ${issueNumList[@]}
1684 1683 1681 1680 1679 1678 1677 1676 1675 1674 1673 1672 1671 1670 1669 1668 1667
$ echo "${issueNumList[0]}"
1684
1683
1681
1680
1679
1678
1677
1676
1675
1674
1673
1672
1671
1670
1669
1668
1667
$ echo ${issuesArray[@]}
1684
$ echo ${issuesArray[0]}
1684
$ echo ${issuesArray[1]}
$ echo ${issuesArray[2]}
从这些输出中,我了解到 issueNumList
和 issuesArray
中只有一个位置,从第三个输出中我认为这意味着每个数字的末尾都有 \n .
how to turn the output of the first command into an array?
issueNumList
不是数组 - 在其上使用 [0]
没有意义。
read
一直读到换行符。将分隔符指定为零字节,然后您可以读取换行符分隔的列表。此外 '\n'
是两个字符 \
和 n
,它不是换行符,您可以在 $'\n'
中使用 ANSI C 引用来获取换行符。
issueNumList=$(gh issue list -R <repo name> -l "label" | cut -f1)
IFS=$' \n' read -d '' -r -a issuesArray <<<"$issueNumList"
但是将bash中的行读入数组的方式是readarray
:
readarray -t issuesArray <<<"$issueNumList"
要调试变量内容,请使用 declare -p
,例如 declare -p issuesArray
或 declare -p issueNumList
。
我正在尝试从 GitHub 创建一组未解决的问题编号。我正在使用以下命令提取特定回购和标签中所有已打开的问题编号:
issueNumList=$(gh issue list -R <repo name> -l "label" | cut -f1)
问题是我无法从列表中读取 issueNumList(很明显)。 我尝试通过 运行 这个命令将它变成一个数组,但它只得到第一个数字:
IFS=' \n' read -ra issuesArray <<< "${issueNumList[0]}"
我尝试多次更改此命令,但我没有看到输出有任何差异。这是我得到的输出:
$ echo ${issueNumList[0]}
1684 1683 1681 1680 1679 1678 1677 1676 1675 1674 1673 1672 1671 1670 1669 1668 1667
$ echo ${issueNumList[@]}
1684 1683 1681 1680 1679 1678 1677 1676 1675 1674 1673 1672 1671 1670 1669 1668 1667
$ echo "${issueNumList[0]}"
1684
1683
1681
1680
1679
1678
1677
1676
1675
1674
1673
1672
1671
1670
1669
1668
1667
$ echo ${issuesArray[@]}
1684
$ echo ${issuesArray[0]}
1684
$ echo ${issuesArray[1]}
$ echo ${issuesArray[2]}
从这些输出中,我了解到 issueNumList
和 issuesArray
中只有一个位置,从第三个输出中我认为这意味着每个数字的末尾都有 \n .
how to turn the output of the first command into an array?
issueNumList
不是数组 - 在其上使用 [0]
没有意义。
read
一直读到换行符。将分隔符指定为零字节,然后您可以读取换行符分隔的列表。此外 '\n'
是两个字符 \
和 n
,它不是换行符,您可以在 $'\n'
中使用 ANSI C 引用来获取换行符。
issueNumList=$(gh issue list -R <repo name> -l "label" | cut -f1)
IFS=$' \n' read -d '' -r -a issuesArray <<<"$issueNumList"
但是将bash中的行读入数组的方式是readarray
:
readarray -t issuesArray <<<"$issueNumList"
要调试变量内容,请使用 declare -p
,例如 declare -p issuesArray
或 declare -p issueNumList
。