对ssh操作远程主机的部分认知

通过互信后,可使用ssh命令直接操作远程主句,如:

# ls
123              cpu_info                      nagios-plugins-2.1.1
# ssh [email protected] "ls"
anaconda-ks.cfg
nagios-4.1.1.tar.gz
nagios-plugins-2.1.1

如上,通过命令ssh [email protected] "ls"可在远程主机运行命令。

# export LS=ls
# ssh [email protected] "$LS"
# ssh [email protected] "export LS=ls ; $LS"
anaconda-ks.cfg
nagios-4.1.1.tar.gz
nagios-plugins-2.1.1

如上,通过# export LS=ls # ssh [email protected] "$LS"命令形式无法在远程主机上运行命令,毕竟LS变量是定义在本地的,远程主机并没有定义。但通过ssh [email protected] "export LS=ls ; $LS"命令可在远程主机上执行命令,在此命令中定义了LS变量,在此通过分号分隔可执行第二条命令。

# ssh [email protected] "export LS=ls ; $LS"
anaconda-ks.cfg
nagios-4.1.1.tar.gz
nagios-plugins-2.1.1
# ssh [email protected] "$LS"

如上可看出# ssh [email protected] "$LS"命令在此没有结果,因为当ssh退出后LS变量也就失效了,也因为这个原因,目前写的一个自动化脚本写的相对繁琐,重复代码过多,暂时还没想到好的解决方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章