Erlang ssh_sftp返回eoptions密码,此错误是什么意思?
我的代码现在非常简单,我从elixir调用erlangErlang ssh_sftp返回eoptions密码,此错误是什么意思?,ssh,erlang,elixir,sftp,Ssh,Erlang,Elixir,Sftp,我的代码现在非常简单,我从elixir调用erlang iex> :ssh.start() iex> :ssh_sftp.start_channel("192.168.1.183", 22, [{:user, "username"}, {:password, "password"}]) :ssh.start()返回:ok,但:ssh\u sftp.start\u channel返回{:error,{:eoptions,{:password,“password”}}。如果我删除密码元
iex> :ssh.start()
iex> :ssh_sftp.start_channel("192.168.1.183", 22, [{:user, "username"}, {:password, "password"}])
:ssh.start()
返回:ok
,但:ssh\u sftp.start\u channel
返回{:error,{:eoptions,{:password,“password”}}
。如果我删除密码元组,它就会抱怨用户元组。这让我觉得我基本上误解了erlang文档。我需要一些帮助来理解我做错了什么。ssh_sftp文档位于{:eoptions,返回}
。出现此错误是因为必须是列表(Erlang字符串或Elixir charlist)<代码>:用户,主机名也必须是字符列表。以下方面应起作用:
:ssh_sftp.start_channel('192.168.1.183', 22, [{:user, 'username'}, {:password, 'password'}])
这让我觉得我基本上误解了erlang文档
Erlang中的双引号字符串是字符列表,而不是二进制文件。如果在Erlang代码中看到双引号字符串,则需要在Elixir中使用单引号字符串。出现此错误是因为必须是列表(Erlang字符串或Elixir charlist)<代码>:用户,主机名也必须是字符列表。以下方面应起作用:
:ssh_sftp.start_channel('192.168.1.183', 22, [{:user, 'username'}, {:password, 'password'}])
这让我觉得我基本上误解了erlang文档
Erlang中的双引号字符串是字符列表,而不是二进制文件。如果您在Erlang代码中看到双引号字符串,则需要在Elixir中使用单引号字符串。那么,在文档中,他们有
{password,string()}
这是否意味着password
是原子而string()
是Elixir中的单引号字符串?是,Erlang=中的密码:Elixir中的密码,以及Elixir中的“foo”
。如果您计划使用Elixir中的Erlang库,您应该查看本指南:。因此,在文档中,它们有{password,string()}
这是否意味着密码
是原子,而字符串()
是Elixir中的单引号字符串?是的,密码
是Elixir中的密码,和Elixir中的Erlang==中的“foo”
。如果您计划使用Elixir:中的Erlang库,请参阅本指南。