使用 sshpass 时如何转义单引号
Posted
技术标签:
【中文标题】使用 sshpass 时如何转义单引号【英文标题】:how to escape the single quotes when use sshpass 【发布时间】:2016-11-30 07:07:46 【问题描述】:通过网关远程 ssh
sshpass -p gatewaypwd -t user@gateway sshpass -p targetpwd ssh user2@target
这是原始命令,我把它放在我的别名中。它运行良好。
但现在目标主机的密码包含单引号
比如
sshpass -p gatewaypwd -t user@gateway sshpass -p target'pwd ssh user2@target
该命令无法正常运行。
我确实尝试通过\'
、\\\'
和其他方法来逃避它,但都没有成功。
如何转义引号。
【问题讨论】:
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops? 【参考方案1】:-
将密码存储在文本文件中
使用
sshpass -f <filename> ssh user@IP_ADDR
它将从文件中获取密码。我已经用空格试过了,效果很好。
【讨论】:
【参考方案2】:在密码两边使用双引号。
【讨论】:
以上是关于使用 sshpass 时如何转义单引号的主要内容,如果未能解决你的问题,请参考以下文章
如何阻止 Swift 在我的 [String] 中注入转义的单引号?