我正在尝试运行curl命令,例如:
var styles = new StyleSheet();
styles.LoadTagStyle("body", "border", "1");
htmlparser.SetStyleSheet(styles);
以上工作正常。但是,当我放置
curl -Sks -XPOST https://localhost:9999/some/local/service -d 'some text arguments'
在文件中并将命令调用为:
'some text arguments'
我从服务中得到很多例外。有谁知道这是为什么?
谢谢!
答案 0 :(得分:3)
如果文件包含'some text arguments'
,那么您的命令等同于:
curl -Sks -XPOST https://localhost:9999/some/local/service -d \'some text arguments\'
- 也就是说,它将'some
,text
和arguments'
作为curl
的三个独立参数传递。
相反,您应该只在文件中放入some text arguments
(没有单引号),然后运行此命令:
curl -Sks -XPOST https://localhost:9999/some/local/service -d "`cat file_with_args`"
(将`cat file_with_args`
部分包装在双引号中,以便生成的some text arguments
不会被拆分为单独的参数。)
顺便提一下,我建议编写$(...)
而不是`...`
,因为它通常更强大(尽管在您的特定命令中它没有任何区别)。