一、需求背景

通过 ssh 登录 Linux,并进入指定目录,然后执行命令然后运行前端项目。

比如我们需要进入到 www目录下的 vue-demo 项目中运行 yarn serve 命令

如果过每次通过命令执行则需要如下步骤:

# 登录系统 默认进入根目录
ssh user@remote-system-host -p port

# 进入项目目录
cd /www/vue-demo/

# 拉取最新代码
git pull

# 启动项目
yarn serve

上面的整个流程会很繁琐,如果只执行一个 shell 脚本就完成这一系列操作就好了。

二、问题解决

2.1 通过 ssh 的 -t 参数

ssh root@192.123.0.77 -p port -t 'cd /www/vue-demo;git pull;yarn serve;bash'

注意:

  1. 上面的 root 是你的用户权限,可能不是 root 用户
  2. -p port 表示 你登录的端口号 默认 80 可以不写
  3. 单引号为执行的命令
  4. 注意单引号单内每个命令后面的;分号一定要写 否则会出错

补充

可以使用 ssh --help 命令查看命令手册

可以使用 man ssh 命令来查询参数的含义,这个更详细更全面

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐