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

Linux print file and use it in for example a curl request

这可能是一个完全菜鸟的问题,但我想知道一个简单的 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 来做,而且我想了解当我需要将它与其他数据结合使用时,或者当我想知道这是不好的做法时,如何获得上一个命令的输出最佳实践。

提前致谢!

这应该可以满足您的需求:

curl -X POST -d "{ \"sqlcommand\" :\"$(cat test.sql)\" }" 

$(cmd)cmd 的结果替换为字符串