我有一个方便的别名,如下所示:
sshpass -p "the_password" ssh -o StrictHostKeyChecking=no [email protected]
这将为我提供一种快速登录远程设备的方法,并获得具有制表符补全功能的命令提示符。
但我总是做的第一件事就是cd
转到另一个目录。因此,我想将其作为命令添加到行尾,如下所示:
sshpass -p "the_password" ssh -o StrictHostKeyChecking=no [email protected] 'cd /tmp/Data/fx'
但如果我这样做的话,我根本就不会收到提示!它只是坐在那里什么都不做。接下来,我尝试使用以下命令让它给我一个命令提示符:
sshpass -p "the_password" ssh -o StrictHostKeyChecking=no [email protected] 'cd /tmp/Data/fx; /bin/bash -i'
这几乎有效。
我已经更改到正确的目录,并且有命令提示符。但是,我没有任何制表符补全功能,并且向上箭头没有向我显示最新的命令。
我缺少什么?
答案1
当您运行时,/bin/bash -i
您将启动 shell 的另一个实例。因此,您无法访问以前的历史记录是正常的。