shell脚本中ssh命令后面用单引号引用命令

ssh viaw@163.175.1.4 'cat 文件名’,这样为什么能够执行?!

第1个回答  推荐于2017-07-24
你这是要登陆吗?文件里面是密码?建议用expect来实现密码输入。追问

我算的上只是在那个viaw用户下执行后面的语句,但是不是真正的登陆,还是在我的当前用户下进行。语句完成后,我依然是在当前用户下,并没有在viaw用户下!我就是想知道,为什么后面“单引号”中的命令能够到viaw用户下执行,但是结束完了之后,并没有登陆到viaw用户下,这个原理什么?!麻烦讲解一下!

追答

cat命令被执行是因为做为了ssh的参数被执行的,ssh 命令本身是在你电脑执行的。
因为在你电脑上执行的ssh,执行完以后,肯定还是在你电脑上。就像socket send一样。能通过ssh协议发过去数据,但并没有登陆用户。若想留在另一台电脑上expect可以作到。

本回答被提问者和网友采纳
相似回答