gpt4 book ai didi

Bash 从外部文件读取数组

转载 作者:行者123 更新时间:2023-11-29 09:06:36 26 4
gpt4 key购买 nike

我已经设置了一个 Bash 菜单脚本,它也需要用户输入。这些输入被写入(附加到)一个名为 var.txt 的文本文件,如下所示:

input[0]='192.0.0.1'
input[1]='username'
input[2]='example.com'
input[3]='/home/newuser'

现在我想要完成的是能够从类似这样的脚本中读取 var.txt:

useradd var.txt/${input[1]}

现在我知道仅仅使用它作为示例是行不通的。

提前致谢,乔

最佳答案

使用bash's readarray statement . (这是我能找到的在数组元素中动态放置空格的唯一方法。)你需要你的 var.txt 文件来简单地包含数组的元素,每行一个,不包含赋值声明。

readarray -t input < var.txt

有关更多信息,请尝试 help readarray(然后它会告诉您尝试 help mapfile)。

这是我的测试:

echo -e "a\nb c\nd" > var.txt
readarray input < var.txt
for item in "${input[@]}"; do echo $item; done

打印:

a
b c
d

注意:做cat var.txt | readarray -t input 不起作用。我认为这是因为 input 变量的范围超出范围。

关于Bash 从外部文件读取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4685323/

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