sshpass和SU并在一个线性查询中一起命令

时间:2016-02-25 21:51:03

标签: bash su sshpass

在我的脚本中: 我必须通过用户名和密码对机器进行ssh 2.比我必须做的用户,它会提示输入密码 3.比我必须执行命令,即ls。

早些时候,没有step2,我很高兴能够使用sshpass&在一个单行命令中通过我的脚本触发我的查询。这样的事情。 sshpass -p传递user @ host“命令或ls”

但是现在我在ssh之后再做一次su了。那么有人可以帮助我理解,如何在一行查询中使用所有3个,即sshpass,su和命令。

由于

1 个答案:

答案 0 :(得分:0)

假设您只想更改该命令的用户,则需要“-c”标志。

su - user -c "[command]"

嵌套引号可能会有点复杂,但在这种情况下,您只需要逃避内部引用。

su - user -c "sshpass -p pass user@host \"command or ls\""