Linux打印文件并将其用于例如卷曲请求

问题描述

这可能是一个完整的菜鸟问题,但我想知道一个简单的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)的结果替换为字符串