使用 PATH 创建命令行变量

使用 PATH 创建命令行变量

由于我更像是一名网络人员,因此我需要在这方面获得一些帮助,因此我会在提问之前解释一下我想要做什么。

我正在创建批处理脚本,它将:

  • 来自外部服务器的GET请求(json文件),接收数据,本地保存为.json
  • 使用 JQ 导航 json结果[0].标题
  • 使用“标题”作为curl请求的参数

一旦我在本地有了该文件。我会使用 JQ 查找对象中的数据

cat file.json | jq '.results[0].title' > $1 && curl -i -H "Accept: application/html" -H "Content-Type: application/html" -X GET http://example.com/test/$1 > test.txt

是否可以在命令行“$1”中设置局部变量以在管道命令中临时使用?

我离开这里了吗?

答案1

虽然$1通常具有特殊含义(传递给脚本/函数/等的第一个参数),但您确实可以将命令的输出保存在变量中。

title=$(jq -r '.results[0].title' file.json)
curl -i -H "Accept: application/html" -H "Content-Type: application/html" -X GET http://example.com/test/"$title" > test.txt

第一部分运行命令jq -r '.results[0].title' file.json并将输出保存stdout到变量中title。然后我们运行curl命令并将变量展开title为 URL 的一部分。

相关内容