如何在另一台虚拟机中执行Linux csh脚本的部分步骤?
跨虚拟机执行csh指定步骤的实现方案
直接把需要在远程虚拟机执行的步骤(3-6)打包成命令串,通过rsh非交互式执行即可,无需进入交互式登录再手动操作。以下是调整后的完整csh代码:
# 步骤1:打印本地当前目录 echo $PWD # 步骤2-6:远程执行指定操作,执行完成自动登出 rsh <远程虚拟机主机名/IP> 'mkdir NEW; cd NEW; echo $PWD; exit' # 若需要指定远程用户名,格式为:rsh 用户名@远程主机名/IP '命令串' # 步骤7:回到本地之前的目录(csh中cd - 等价于 cd $OLDPWD) cd - # 步骤8:打印本地当前目录 echo $PWD
关键说明
- 用单引号包裹远程命令串,确保所有命令在远程虚拟机的同一个shell进程中执行,避免
cd NEW后后续命令回到本地执行的问题。 - 单引号还能防止本地shell解析远程变量(比如
$PWD会被远程虚拟机的shell解析,输出远程的当前目录)。 - 确保本地与远程虚拟机已配置rsh免密信任(否则执行时会弹出密码输入提示,无法自动化);如果环境禁用rsh,可直接替换为
ssh,语法完全一致,且更安全。
内容的提问来源于stack exchange,提问作者amare ghn
相关产品推荐
相关产品推荐

