0

我目前在 bash 中输入以下命令时遇到问题:

RESPONSE=`curl -k "$line" --cert=\"$certfile:$certpassfile\" --silent --write-out --head '%{http_code}\n'`

其中$line是 url,$certfile是 pem 文件的路径,$certpassfile是证书密码。

我收到以下错误:

++ curl -k url '--cert="/certpath:certpassword"' --silent --write-out --head '%{http_code}\n'

curl:选项 --cert="/certpath:certpassword":未知

当我不将证书文件周围的引号加倍并且不对其进行转义时,命令如下所示:

RESPONSE=`curl -k "$line" --cert="$certfile:$certpassfile" --silent --write-out --head '%{http_code}\n'`

我收到相同的错误,但路径不同:

++ curl -k url --cert=/certpath:certpassword --silent --write-out --head '%{http_code}\n' curl: option --cert=/certpath:certpassword: 未知

任何想法我可以如何创建命令应该是:

curl -k url --cert="/certpath:certpassword" --silent --write-out --head '%{http_code}\n'
4

1 回答 1

2

I think you just should strip that equal sign between --cert and the value:

RESPONSE=$(curl -k "$line" --cert "$certfile:$certpassfile" \
                --silent --write-out --head '%{http_code}\n')
于 2013-11-05T14:31:48.183 回答