我想在使用卷曲时能够生成系统的纳米秒序列。
我的代码是这样的:
curl -X POST -H的内容类型: text/xml‘-d @req.xml server_URL > result.xml
req.xml包含以下内容:
${=(System.nanoTime())}因此,请求中的期望值应该类似于:
2163586109424686
但它却给了我:
${=(System.nanoTime())}
任何将其转换为系统定时器的方法,以纳秒为单位。
发布于 2018-08-26 10:57:58
不幸的是,cURL没有本地的值插值机制。但是,您可以使用一些sed魔术来替代:
sed "s/\${TIME}/$(date +%s%N)/g" req.xml | curl -X POST -H 'Content-Type: text/xml' -d @- server.tld > result.xmldate命令将以指定的格式输出当前时间。%s是自UNIX时代以来的秒数,%N是当前秒的纳秒数。
在bash中,$(...)中的"-quoted字符串将在另一个参数中插入命令的输出。这将生成一个sed命令,用当前时间替换${TIME}的所有实例。curl参数-d @-使它从stdin读取POST数据。虽然您可以保留每个表达式的语法,但我认为这是不值得的。
https://unix.stackexchange.com/questions/464897
复制相似问题