首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请教一个shell脚本的有关问题

2012-07-18 
请问一个shell脚本的问题想从一台linux A上ssh到另外一台linux B上,然后做一些事情,写了以下脚本#!/bin/ba

请问一个shell脚本的问题
想从一台linux A上ssh到另外一台linux B上,然后做一些事情,写了以下脚本
#!/bin/bash

ssh root@B

cd /opt

以上执行的话,虽然登录到了B服务器上,但是并没有进入到/opt目录下。
当exit的时候,发现进入了A的/opt目录。

请问如果我想ssh到B后,再进入B的opt目录的话,应该怎么写这段脚本呢?谢谢。



[解决办法]
写在一行里面呢

ssh root@B cd /opt
[解决办法]
貌似这应该分别属于两个不同的进程吧:ssh、bash
bash 仅是创建了子进程 ssh
bash 本身的脚本还是执行在 bash 本身的进程中吧

[解决办法]
直接写一行,结果就是 3 楼的情况,是会执行并结束的。这就是 ssh 的一个用法。
如果lz有什么想法呢?是做一个登录脚本再执行一些命令,不需要交互的话,就是用 ssh root@B command 的方法呀;如果要交互,那就登录后手工处理呗,另外用 expect 也是一个主意。

按 lz 的写法:

C/C++ code
#!/bin/bashssh root@Bcd /opt 

热点排行