我有这个命令
curl http://localhost:6800/schedule.json | python -c "import json; print (' '.join(['-d '+key+'='+word for key,word in json.load(open('cron_parameters_testing.json')).items() ] ))"
实际上python命令从JSON文件中读取参数,如
{ 'project':'default' }
并将输出返回为-d project=default
我已经单独测试了python -c "import json; print (' '.join(['-d '+key+'='+word for key,word in json.load(open('cron_parameters_testing.json')).items() ] ))
命令它完美地工作但它确实与cURL一起工作
我想要运行的最后一个命令是
curl http://localhost:6800/schedule.json -d project=default
当然我想从我提到的命令生成-d project=default
答案 0 :(得分:1)
|
是一个管道,在你的情况下,它从curl
发送标准输出,成为python的标准输入。这似乎与您的任务无关。尝试:
curl http://localhost:6800/schedule.json `python -c "import json; print (' '.join(['-d '+key+'='+word for key,word in json.load(open('cron_parameters_testing.json')).items() ] ))"`
反引号(`...`
)评估内部命令并替换为命令的输出。或者,您可以使用$(...)
,尤其是在您需要嵌套这样的命令时。