是否可以使用 bash 在 for 循环中访问多个数组

2023-12-22

我正在尝试编写一个 bash 脚本,让我使用curl 下载多个网页。对于每个网页,我希望能够传递卷曲页面和引用链接。我希望能够同时提供多个网页。

换句话说,我希望能够循环浏览我提供脚本的网页,并且对于每个页面,将关联的网页和引用链接传递给curl。

我想我应该使用一个数组将网页和引用链接存储在单个变量中,认为我可以在运行curl时提取数组的各个元素。

我的问题是我不知道如何让多个数组在 for 循环中正常工作。这是我想做的事情的一个想法。此代码不起作用,因为“$i”(在 for 循环中)不会成为数组。

#every array has the information for a separate webpage
array=( "webpage" "referer" )
array2=( "another webpage" "another referer" )

for i in "${array[@]}" "${array2[@]}" #line up multiple web pages
do
    #use curl to download the page, giving the referer ("-e")
    curl -O -e "${i[1]}" "${i[0]}"
done

如果我只使用一个数组,我可以轻松地这样做:

array=( "webpage" "referer" )
REFERER="${array[1]}"
PAGE="${array[0]}"
#use curl to download the page, giving the referer ("-e")
curl -O -e "$REFERER" "$LINK"

一旦我想要同时处理多个网页,我就不知道如何正确处理。

如果有另一种方法可以处理多个网页,而无需使用数组和 for 循环,请告诉我。


如果有另一种方法可以处理多个网页,而无需使用数组和 for 循环,请告诉我。

使用数组很好,至少比使用空格分隔的列表或类似的技巧要好得多。只需循环索引即可:

array=('webpage' 'another webpage')
array2=('referrer' 'another referrer')
# note the different layout!
for i in "${!array[@]}"
do 
    webpage="${array[$i]}"
    referrer="${array2[$i]}"
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用 bash 在 for 循环中访问多个数组 的相关文章

  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • 字符串插值搜索

    对于那些不熟悉插值搜索的人来说 这是一种在排序数组中搜索值的方法 可能比二分搜索更快 您查看第一个和最后一个元素 并 假设数组的内容均匀分布 线性插值以预测位置 例如 我们有一个长度为 100 的数组 其中 array 0 0 和 arra
  • C# 可以扩展数组吗?

    我习惯向 IEnumerable 等外部类添加方法 但是我们可以在 C 中扩展数组吗 我计划向数组添加一个方法 将其转换为 IEnumerable 即使它是多维的 不相关如何在 C 中扩展数组 https stackoverflow com
  • C# LINQ 方法确定数组是否是另一个数组的子集(包括重复项)?

    考虑两个数组 int a1 new int 1 1 1 2 3 4 5 6 7 8 9 10 10 int a2 new int 1 3 4 7 5 10 1 我希望能够确定 a2 是否是 a1 的子集 考虑重复项目的数量 换句话说 如果a
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 互补DNA序列

    我在编写这个循环时遇到问题 它似乎在第二个序列之后停止了 我想返回给定 DNA 序列的互补 DNA 序列 例如 AGATTC gt TCTAAG 其中 A T 和 C G def get complementary sequence dna
  • 循环列表的值[重复]

    这个问题在这里已经有答案了 我是编码新手 正在尝试编写一个简单的代码 该代码将采用一个列表 例如 1 2 3 并循环元素 n 次 所以如果n 1 我应该得到A 3 1 2 如果n 2 我应该得到A 2 3 1 我写的代码是 n 1 j 0
  • C:将 unsigned char 数组转换为signed int(反之亦然)

    我正在尝试将无符号字符数组缓冲区转换为有符号整数 反之亦然 下面是演示代码 int main int argv char argc int original 1054 unsigned int i 1054 unsigned char c
  • 如何在for循环中引用变量?

    我正在循环访问不同的 data tables 和 data table 中的变量 但我在引用内部变量时遇到问题for loop dt1 lt data table a1 c 1 2 3 a2 c 4 5 2 dt2 lt data tabl
  • 使用无效数据调用函数 FieldValue.arrayUnion()。 FieldValue.serverTimestamp() 只能与 update() 和 set() 一起使用

    addDeposit account deposit let depositsDoc this db collection accounts doc account id collection deposits doc deposits r
  • 在 C# 中对由整数组成的多维 [] 数组进行排序

    我有以下数组 private int testSamples new testSamples 101 101 它应该代表一个名册 第0到100列 第0到100行 在这个名册中 掉落了各种化学液体 我为之做这件事的人希望以这样的方式工作 他可
  • VB - 如何读取和写入二进制文件?

    如何从任何文件读取原始字节数组 Dim bytes as Byte 然后将该字节数组写回到新文件中 我需要它作为字节数组来在两者之间进行一些处理 我目前正在使用 To read Dim fInfo As New FileInfo dataP
  • 如何在 matlab 中创建由多个 3d 图像数据数组组成的数组

    我正在阅读 15 张图片imagedata imread imagename jpg 它的大小总是320 by 320 by 3 如何将数据放入数组中 使用 for for 循环 以便在访问新数组的第一个元素时获得输入的第一个图像的 RGB
  • awk 脚本中出现“BEGIN 块必须有操作部分”错误

    这是我的代码 bin sh filename usr bin find name INSTANCE log echo filename is filename awk BEGIN print Processing file filename
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • char* argv[] 在 c/c++ 中如何工作? [复制]

    这个问题在这里已经有答案了 我知道它用于使用命令行中的参数 但我没有得到声明 字符 argv 它是否意味着指向 char 数组的指针 如果是的话为什么没有大小 如果不是动态数组 就不需要有大小吗 我做了一些研究 发现有人说它会衰减为 cha
  • 使用 javascript Array reduce() 方法有什么真正的好处吗?

    reduce 方法的大多数用例都可以使用 for 循环轻松重写 对 JSPerf 的测试表明 reduce 通常会慢 60 75 具体取决于每次迭代内执行的操作 除了能够以 函数式风格 编写代码之外 还有什么真正的理由使用reduce 吗
  • 从 C 数组中删除大量元素的最快方法

    我有包含数千个甚至更多元素的动态数组 为了不消耗大量内存 我可以从中删除不需要的元素 即元素已被使用 不再需要它们 所以从一开始我可以通过估计每次删除元素后所需的最大大小来分配较小的内存大小 我用这个方法但是需要很长很长的时间才能完成 有时
  • 总和不小于 key 的数组的最小子集

    给定一个数组 假设为非负整数 我们需要找到最小长度子集 使得元素之和不小于 K K 是作为输入提供的另一个整数 是否有可能找到时间复杂度为 O n n 的大 oh 的解决方案 我目前的想法是这样的 我们可以在 O n log n 中对数组进
  • Bash:递归复制命名文件,保留文件夹结构

    我希望 cp R src prog js images icon jpg tmp package 将在目标目录中产生对称结构 tmp package src prog js images icon jpg 但相反 这两个文件都被复制到 tm

随机推荐

  • 如何使用张量板制作散点图-tensorflow

    现在 我正在研究张量流 但是 我无法使用张量板绘制点图 如果我有训练样本数据 就像那样 train X numpy asarray 3 3 4 4 5 5 6 71 6 93 4 168 9 779 train Y numpy asarra
  • jQuery - 如何按属性名称开头选择值

    我想通过给出属性名称 仅开头 来选择属性值 例如 如果我们有 html 标签 div class slide div 我想从属性中选择以以下开头的值data 先谢谢您的帮助 如果您想要所有 data 属性 您可以迭代 jq 数据对象 sli
  • 如何使用图像作为提交按钮?

    有人可以帮助更改此设置以合并名为的图像BUTTON1 JPG而不是标准submit button
  • python中编译的正则表达式对象的类型

    python中编译后的正则表达式是什么类型 我特别想评价一下 isinstance re compile 是真实的 出于内省的目的 我的一个解决方案是 有一些全局常量REGEX TYPE type re compile 但看起来不太优雅 E
  • 使用 int 与 Integer

    我遇到一个类 它使用整数变量来捕获要在 for 循环中使用的大小 这是好的做法还是我们应该使用 int 原始数据类型 Integer size something getFields size for Integer j 0 j lt si
  • 将自定义对象的数据绑定到MvvmCross中的TextView

    I have one custom object in my ViewModel I want to bind only one of its member to textview in my droid view 我只想将该对象的字符串成
  • jQuery 显示一个 Div 并隐藏其他 Div

    http jsfiddle net yrM3H 2 http jsfiddle net yrM3H 2 我有以下代码 jQuery document ready function jQuery toggle next hidden hide
  • 检查变量是否已设置然后回显而不重复?

    是否有一种简洁的方法来检查变量是否已设置 然后回显它而不重复相同的变量名称 而不是这个 我正在考虑这个 C 风格伪代码中的一些内容 PHP has sprintf http www php net manual en function sp
  • 如何更改@NotNull注释对应返回的响应JSON

    我有一个简单的代码 当 RequestBody 中不存在 customerId 时 它返回错误 json VO 类 public class OrderVO private int orderId NotNull message Custo
  • 如何向 html 5 视频添加嵌入链接

    如果您在 Discord 中链接 YouTube 视频 它会在 Discord 上显示为可播放的视频 而不仅仅是链接 对于我的视频 如果我从我的网站链接它们 不和谐会将它们显示为链接而不是视频 我听说我需要在其中嵌入链接 但我不知道我在寻找
  • 打印机 println:未创建新行

    我正在尝试使用 Apache POI 类将 Outlook MSG 文件解码为文本文件 一切正常 除了println的方法PrintWriter 它不会创建新行 它只是将每个句子直接一个接一个地连接起来 下面代码片段的结果是 De text
  • 正则表达式将数字与逗号和点匹配

    我想使用匹配整数和浮点数re模块 因此 如果有人键入以下输入类型之一 它应该验证它是否是一个数字 1000 1 000 1 000 1 000 98 1 000 1 0 1 0000 现在我正在使用以下内容 0 9 任何帮助表示赞赏 对于给
  • 将 JSON 反序列化为对象

    我正在将 JSON 字符串反序列化为对象 我无法使用Dictionary
  • 是否可以为基于 Click 的界面中的所有子命令添加全局参数?

    我正在 virtualenv 下使用 Click 并使用entry pointsetuptools 中的指令将根映射到名为调度的函数 我的工具公开了两个子命令serve and config 我在顶级组上使用一个选项来确保用户始终通过 pa
  • 使用 useState hook 时 React 组件渲染两次

    我无法理解为什么我的应用程序反应组件渲染两次 如下面的 gif 所示 我在返回组件之前插入了一个 console log 以查看组件渲染了多少次 每当我删除 useState 挂钩时 我的应用程序就会像我想象的那样只渲染一次 欢迎任何关于为
  • 如何在Svelte中直接挂载HTMLElement?

    我正在使用一些返回 HTML 元素的外部代码 最好嵌入它 而无需通过 JavaScript 管理加载和所有内容 即appendChild removeChild 现在我正在使用 html element outerHTML 但这似乎不太优雅
  • 如何获取我的应用程序的任务列表及其活动堆栈?

    为了更好地理解活动 任务 每个任务的后台堆栈以及不同的启动模式之间的关系 我想编写一个包含大约 7 个活动的应用程序 在 3 个任务中运行 其中活动以不同的启动模式启动 并且我正在运行 我想显示每个活动的堆栈 并在我浏览应用程序并启动或关闭
  • Python 的 Vim 自动完成

    我正在尝试将自动完成功能合并到Vim http en wikipedia org wiki Vim 28text editor 29 我使用了 Vim 的全能补全功能皮迪克申 http www vim org scripts script
  • 从 R 中的向量创建频率计数[重复]

    这个问题在这里已经有答案了 假设有一个向量 其数值可能有重复值 x lt c 1 2 3 4 5 1 2 2 3 我想创建另一个计数向量 如下所示 它的长度与x 对于每个唯一值x 第一次出现为1 第二次出现为2 以此类推 我想要的新向量是
  • 是否可以使用 bash 在 for 循环中访问多个数组

    我正在尝试编写一个 bash 脚本 让我使用curl 下载多个网页 对于每个网页 我希望能够传递卷曲页面和引用链接 我希望能够同时提供多个网页 换句话说 我希望能够循环浏览我提供脚本的网页 并且对于每个页面 将关联的网页和引用链接传递给cu