gpt4 book ai didi

Bash 以声明方式定义要循环的列表

转载 作者:行者123 更新时间:2023-11-29 09:16:56 24 4
gpt4 key购买 nike

在 bash 中,我经常编写脚本,在其中循环遍历我定义的字符串列表。

例如

for a in 1 2 3 4; do echo $a; done

但是我想定义列表(在循环之前保持干净)以便它包含空格并且没有单独的文件:

例如(但这行不通)

read -r VAR <<HERE
list item 1
list item 2
list item 3
...
HERE

for a in $VAR; do echo $a; done

上面的预期输出(我想要):

list item 1
list item 2
list item 3
etc...

但是你会得到:

list
item
1

我可以使用数组,但我必须索引数组中的每个元素(编辑阅读下面的答案,因为您可以附加到数组。我不知道您可以)。

其他人如何在不使用单独文件的情况下在 bash 中以声明方式定义列表?

对不起,我忘了说我想在 for 循环逻辑之前在文件的顶部定义列表

最佳答案

您可以像这样使用“HERE 文档”:

while read a ; do echo "Line: $a" ; done <<HERE
123 ab c
def aldkfgjlaskdjf lkajsdlfkjlasdjf
asl;kdfj ;laksjdf;lkj asd;lf sdpf -aa8
HERE

关于Bash 以声明方式定义要循环的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10687313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com