问题描述
这可能是一个完整的菜鸟问题,但我想知道一个简单的oneliner来解决我的问题。
想象一下:我有5个文件,可能是.txt,.sql .anything。
root@DESKTOP:/$ ls
test.sql test1.sql test2.sql test3.sql
想象一下,我想在curl请求中使用例如test.sql作为json参数的一部分。
root@DESKTOP:/$ cat test.sql |
curl -H "Accept: application/json"
-H "Content-type: application/json"
-X POST -d "{ \"sqlcommand\" :\"??????" }"
http://localhost:9999/api/testsql
如何将cat命令的输出放在此请求中的问号处? $ 0,$ 1等是不够的。我知道如何使用for循环。我可以编写一个shell脚本,该脚本带有一个可以粘贴到命令中的输入参数。但。我想在一个简单的oneliner中进行操作,而且我想学习如何在需要将其与其他数据结合使用时,或者在我想知道的不良做法时,如何获取前一个命令的输出最佳做法。
提前谢谢!
解决方法
这应该可以满足您的需求:
serde
curl -X POST -d "{ \"sqlcommand\" :\"$(cat test.sql)\" }"
将$(cmd)
的结果替换为字符串