我遇到了在bash中输入以下命令的问题:
RESPONSE=`curl -k "$line" --cert=\"$certfile:$certpassfile\" --silent --write-out --head '%{http_code}\n'`
其中$line
是网址,$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'
答案 0 :(得分:2)
我认为你应该在--cert
和值之间删除等号:
RESPONSE=$(curl -k "$line" --cert "$certfile:$certpassfile" \
--silent --write-out --head '%{http_code}\n')