Linux 密码中的星号字符-登录失败
我有一个要求,我将对不同的服务器执行sftp,我希望通过shell脚本来实现这一点 但是密码有星号(*)字符,因此无法登录。 脚本:Linux 密码中的星号字符-登录失败,linux,bash,shell,scripting,sftp,Linux,Bash,Shell,Scripting,Sftp,我有一个要求,我将对不同的服务器执行sftp,我希望通过shell脚本来实现这一点 但是密码有星号(*)字符,因此无法登录。 脚本: 请帮帮我。提前感谢尝试使用双引号代替引号。 或者,如果您知道密码将始终是该特定文本,则可以通过在特殊字符$&*前面加反斜杠来对其进行转义 您可以从谷歌尝试几种不同的解决方案: 问题是和(与符号)。替换 user $user $passwd 与 请将脚本的相关部分添加到问题中。@Cyrus:添加了完整的脚本。Thanks@Cyrus:我无法使用上面的密码登录,可
请帮帮我。提前感谢尝试使用双引号代替引号。 或者,如果您知道密码将始终是该特定文本,则可以通过在特殊字符$&*前面加反斜杠来对其进行转义 您可以从谷歌尝试几种不同的解决方案:
问题是
和(与符号)。替换
user $user $passwd
与
请将脚本的相关部分添加到问题中。@Cyrus:添加了完整的脚本。Thanks@Cyrus:我无法使用上面的密码登录,可能是因为密码中有特殊字符。你可以参考我上面提供的错误信息。谢谢,谢谢你的回复。即使我尝试使用双引号,也会出现同样的错误。你能在双引号前面加一个“\”来转义它们吗?有时,我还成功地使用了“和”“asdf&*$asdf”“”,如果仅在本例中使用反斜杠将其转义为:passwd='CjX3E$4Q\&*B6L'
,则它可以工作。
Unknown command `*B6L'.
cd: Login failed: Login incorrect
user $user $passwd
user $user "$passwd"