我有一个 shell 脚本,authenticate.sh
看起来像
#!/bin/bash
sshpass -p '$1' ssh $2@localhost
我称之为使用
bash authenticate.sh password username
但当我运行它时,我收到“权限被拒绝,请重试”。如果我跑
#!/bin/bash
sshpass -p 'password' ssh user@localhost
有用...
有什么帮助吗?
答案1
单撇号一定是刚刚把脚本搞乱了,请参阅下面的注释。
这按预期工作:
#!/bin/bash
sshpass -p "$1" ssh "$2"@localhost
这是因为单撇号不允许在内部扩展任何变量。