我正在尝试编写一个bash脚本,通过获取用户名和密码,然后再说$username:$password @ SERVERNAME,我连接到samba服务器.
但是,如果密码在其中有@,则会失败.有没有办法从bash中输出密码?
提前致谢
更新:
我正在设置这个网络打印机
lpadmin -p PRINTER -v smb://$username:$password@SERVER -E
除非$密码中有一个@符号,否则它可以工作. $username和$passwords变量是从阅读stdin得到的
啊,不,这实际上并不是引用Bash的问题,而是引用了Samba.你有这个:
lpadmin -p PRINTER -v smb://$username:$password@SERVER -E
哪个Bash完全扩展到
lpadmin -p PRINTER -v smb://alice:passw@rd@SERVER -E
然后Samba客户端库认为密码在第一个@符号结束,并且应该连接到名为rd @ server的服务器,不要忘记您不能将该名称放在DNS中.
lpadmin来自CUPS,而不是Samba(here is its manpage),并且通过这些文档读取,我想您可能可以使用这种替代语法:
lpadmin -p PRINTER -U "${username}%${password}" -v smb://SERVER -E
我很惊讶,因为@不工作,但是.看起来像samba客户端库中的一个bug给我.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。