我有一个客户端脚本,我正在与GNU-FTP进行通信。我希望能够在命令行上发送自定义参数,所以我创建了一个参数--ftp-args
这就是它的样子
GetOptions(
.. redacted stuff..
"ftp-args=s%" => \$FTP_ARGS
) or die("Error in command line arguments\n");
但是,每当我尝试调用它时,我都会收到错误,
$ ./script/dm-ftp360 --ftp-args="-E"
Option ftp-args, key "-E", requires a value
Error in command line arguments
是否可以解决这个问题,并使其成为可能?
答案 0 :(得分:2)
你specified s%
- 定义一个指定哈希条目的选项。这意味着该选项的每个参数都有一个key=value
形式。但是你只指定了-E
。错误消息是关于缺失的=value
部分,而不是前导-
。
或许使用s@
来摄取一组简单的选项?或者如果您需要在将密钥和值传递给ftp之前将它们分开,请使用"-E="
给出一个空值。