使用文本和变量构建TXT文件,并使用Bash Shell脚本通过CURL发送变量

sigur7:

我试图建立一个.txt文件,其中多行变量条目以及一些静态文本,然后在POST请求中通过CURL发送一些变量数据。

问题

目前,已经创建了.txt文件,但它们都被添加到了一行而不是多行中。

通过CURL仅发送一个变量(image1ID),而从有效负载中忽略了另一个变量。

理想结果

包含的TXT文件

file https://www.amazon.com/1.jpg
11
file https://www.amazon.com/2.jpg
13
...

并通过CURL发送所有图像变量

#!/bin/bash

image1Url=https://www.amazon.com/1.jpg
image1IDNumber=11
image2Url=https://www.amazon.com/2.jpg
image2IDNumber=13
image3Url=https://www.amazon.com/3.jpg
image3IDNumber=15
image4Url=https://www.amazon.com/4.jpg
image4IDNumber=17
image5Url=https://www.amazon.com/5.jpg
image5IDNumber=19

# Build txt using variables
echo "'file '${image1Url}\n${image1IDNumber}\n'file '${image2Url}\n${image2IDNumber}\n'file '${image3Url}\n${image3IDNumber}\n'file '${image4Url}\n${image4IDNumber}\n'file '${image5Url}\n${image5IDNumber}\n" >imagedetails.txt


curl -H "content-Type: application/json"  -d {"image1ID":"${image1IDNumber}","image2ID":"${image2IDNumber}"}  https://requestbin.herokuapp.com/18y57z13
Youssef Sbai idrissi:

我想我不理解你在做什么。我不知道你为什么使事情复杂化?看起来您的变量是5,如果它们是动态的,则应该改用循环。

以下代码给出了理想的结果最简单的方法是:

#!/bin/bash

image1Url=https://www.amazon.com/1.jpg
image1IDNumber=11
image2Url=https://www.amazon.com/2.jpg
image2IDNumber=13
image3Url=https://www.amazon.com/3.jpg
image3IDNumber=15
image4Url=https://www.amazon.com/4.jpg
image4IDNumber=17
image5Url=https://www.amazon.com/5.jpg
image5IDNumber=19

# Build txt using variables

echo " file $image1Url " >> imagedetails.txt
echo " $image1IDNumber " >> imagedetails.txt
echo " file $image2Url " >> imagedetails.txt
echo " $image2IDNumber " >> imagedetails.txt
echo " file $image3Url " >> imagedetails.txt
echo " $image3IDNumber " >> imagedetails.txt
echo " file $image4Url " >> imagedetails.txt
echo " $image4IDNumber " >> imagedetails.txt
echo " file $image5Url " >> imagedetails.txt
echo " $image5IDNumber " >> imagedetails.txt

### Post the content of the file as follow :

a="\"image1ID\":\"${image1IDNumber}\",\"image2ID\":\"${image2IDNumber}\"" 
b="'$a'"
curl -H "content-Type: application/json"  -d $b https://requestbin.herokuapp.com/18y57z13

您应该提交一个imagedetails.txt文件,其中包含以下输出:

 file https://www.amazon.com/1.jpg
 11
 file https://www.amazon.com/2.jpg
 13
 file https://www.amazon.com/3.jpg
 15
 file https://www.amazon.com/4.jpg
 17
 file https://www.amazon.com/5.jpg
 19

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章