shell:远程机器执行当前机器的脚本

如果你想使用ssh命令从当前机器(即你正在操作的机器)连接到另一台机器,并在那台远程机器上执行当前机器上的一个脚本,你需要将脚本文件复制到远程机器,或者使用其他方法(如通过HTTP、FTP等)在远程机器上访问该脚本。

但是,如果你只是想在远程机器上执行一个命令,而这个命令的内容是当前机器上的一个脚本的内容,你可以使用sshcat命令结合管道(|)和bash来执行。但是,这通常不是一个推荐的做法,因为它可能会导致安全或可维护性问题。

然而,以下是一个简单的示例,展示了如何将当前机器上的脚本内容发送到远程机器并执行:

#!/bin/bash  # 设置远程机器的IP地址和用户名  
REMOTE_IP="192.168.0.1"  
REMOTE_USER="your_remote_username"  # 假设你有一个名为local_script.sh的脚本在当前目录下  
LOCAL_SCRIPT_PATH="./local_script.sh"  # 使用ssh命令和'cat'命令将脚本内容发送到远程机器并执行  
ssh "$REMOTE_USER@$REMOTE_IP" "bash -s" < "$LOCAL_SCRIPT_PATH"  # 注意:这种方法将脚本内容作为输入发送到远程bash,它要求脚本内容是安全的并且可以在远程机器上直接执行

在这个例子中,bash -s告诉远程的bash从标准输入(stdin)读取命令并执行它们。< "$LOCAL_SCRIPT_PATH"部分将local_script.sh的内容重定向到ssh命令的标准输入,从而将其发送到远程机器。

然而,一个更安全、更常见的做法是将脚本文件复制到远程机器,然后在远程机器上执行它。这可以通过scp(安全复制)或rsync命令来完成,如下所示:

#!/bin/bash  # 设置远程机器的IP地址和用户名  
REMOTE_IP="your_remote_ip_address"  
REMOTE_USER="your_remote_username"  
REMOTE_DIR="/path/to/remote/directory"  # 远程机器上存放脚本的目录  # 假设你有一个名为local_script.sh的脚本在当前目录下  
LOCAL_SCRIPT_PATH="./local_script.sh"  # 使用scp将脚本复制到远程机器  
scp "$LOCAL_SCRIPT_PATH" "$REMOTE_USER@$REMOTE_IP:$REMOTE_DIR"  # 然后在远程机器上执行脚本  
ssh "$REMOTE_USER@$REMOTE_IP" "bash $REMOTE_DIR/local_script.sh"  # 记得在远程机器上给脚本添加执行权限(如果需要的话)  
# ssh "$REMOTE_USER@$REMOTE_IP" "chmod +x $REMOTE_DIR/local_script.sh"

请注意,你需要在远程机器上的适当位置有写权限,以便能够将脚本复制过去,并且可能需要使用chmod命令来给远程脚本添加执行权限(如果它还没有的话)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CVE-2023-50563(sql延时注入)

简介 SEMCMS是一套支持多种语言的外贸网站内容管理系统&#xff08;CMS&#xff09;。SEMCMS v4.8版本存在SQLI&#xff0c;该漏洞源于SEMCMS_Function.php 中的 AID 参数包含 SQL 注入 过程 打开靶场 目录扫描&#xff0c;发现安装install目录&#xff0c;进入&#xff0c;…

免费一年SSL证书申请——建议收藏

免费一年SSL证书申请——建议收藏 获取免费一年期SSL证书其实挺简单的 准备你的网站&#xff1a; 确保你的网站已经有了域名&#xff0c;而且这个域名已经指向你的服务器。还要检查你的服务器支持HTTPS&#xff0c;也就是443端口要打开&#xff0c;这是HTTPS默认用的。 验证域…

开源技术:在线教育系统源码及教育培训APP开发指南

本篇文章&#xff0c;小编将探讨如何利用开源技术开发在线教育系统及教育培训APP&#xff0c;旨在为有志于此的开发者提供全面的指导和实践建议。 一、在线教育系统的基本构架 1.1架构设计 包括前端、后端和数据库三个主要部分。 1.2前端技术 在前端开发中&#xff0c;HTML…

[实践篇]13.29 再来聊下Pass Through设备透传

写在前面 为什么要再聊天Pass Through? 因为在QNX + Linux Android的技术方案下,我们会遇到LA发生reboot或异常panic后,无法正常开机。而再次异常的原因确实最头疼的Memory Corruption。观察下来是由于一些DMA外设如使用UART的一些设备在重启或panic后,没有正常走Shutdow…

C++系统相关操作4 - 获取CPU(指令集)架构类型

1. 关键词2. sysutil.h3. sysutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词&#xff1a; C 系统调用 CPU架构 指令集 跨平台 实现原理&#xff1a; Unix-like 系统: 可以通过 uname -m 命令获取 CPU 架构类型。Windows 系统: 可以通过环境变量 PROCESSOR_A…

使用Inno Setup 5.5制作软件安装包-精品(二)

上一篇 使用Inno Setup 6制作软件安装包&#xff08;一&#xff09;-CSDN博客 文章简单的说了一下使用Inno Setup 6制作软件安装包&#xff0c;具体有很多的细节&#xff0c;都可以参考上篇的案例。本节说一下&#xff0c;Inno Setup 5 增强版制作软件精品安装包&#xff0c;…

如何搭建饥荒服务器

《饥荒》是由Klei Entertainment开发的一款动作冒险类求生游戏&#xff0c;于2013年4月23日在PC上发行&#xff0c;2015年7月9日在iOS发布口袋版。游戏讲述的是关于一名科学家被恶魔传送到了一个神秘的世界&#xff0c;玩家将在这个异世界生存并逃出这个异世界的故事。《饥荒》…

力扣SQL50 销售分析III having + 条件计数

Problem: 1084. 销售分析III &#x1f468;‍&#x1f3eb; 参考题解 Code select s.product_id,p.product_name from sales s left join product p on s.product_id p.product_id group by product_id having count(if(sale_date between 2019-01-01 and 2019-03-31,1,nu…

【SpringBoot Actuator】⭐️Actuator 依赖实现服务健康检查,线程信息收集

目录 &#x1f378;前言 &#x1f37b;一、Actuator 了解 &#x1f37a;二、使用 2.1 依赖引入 2.2 测试场景搭建 &#x1f379;三、测试 3.1 项目启动测试 3.2 服务健康检查 3.3 线程转储 3.4 内存使用&#xff0c;垃圾回收信息获取 &#x1f49e;️四、章末 &#x1…

MySQL的自增 ID 用完了,怎么办?

MySQL 自增 ID 一般用的数据类型是 INT 或 BIGINT&#xff0c;正常情况下这两种类型可以满足大多数应用的需求。 当然也有不正常的情况&#xff0c;当达到其最大值时&#xff0c;尝试插入新的记录会导致错误&#xff0c;错误信息类似于&#xff1a; ERROR 167 (22003): Out o…

使用SpringBootTest测试项目

当我们开发项目后&#xff0c;通常需要进行单元测试&#xff0c;确保开发符合预期。但是对于Springboot项目&#xff0c;依赖部分IOC容器对象的注入。比如代码中存在Autowired、Service、Mapper等。 1、确保pom.xml中包含了依赖&#xff0c;其中的version和scope&#xff0c;大…

【科普】半导体制造过程的步骤、技术、流程

在这篇文章中&#xff0c;我们将学习基本的半导体制造过程。为了将晶圆转化为半导体芯片&#xff0c;它需要经历一系列复杂的制造过程&#xff0c;包括氧化、光刻、刻蚀、沉积、离子注入、金属布线、电气检测和封装等。 基本的半导体制造过程 1.晶圆&#xff08;Wafer&#xf…

发送ajax请求时由于click事件重复绑定导致的请求重复发送问题

问题场景 项目背景&#xff1a;CRM练习项目&#xff0c;通过复选框选择列表中的数据&#xff0c;用户点击删除按钮&#xff0c;弹出确认弹窗&#xff0c;用户点击确认后&#xff0c;前端分装数据到数组&#xff0c;发送ajax请求&#xff0c;将数据传递至Controller进行处理。 …

《计算机英语》测试练习题

作业3 一、单选题 内存条 的英文翻译是 A. memory chip (内存条通常指的是内存条上的存储芯片&#xff0c;但整个内存条的英文翻译应为 "RAM"&#xff0c;即 Random Access Memory 随机存取存储器) capacitor的中文意思是 D. 电容器 relay 的解释是 A. 继电器 por…

070、Python 关于面向对象编程

1、指令式编程 计算机编程起源于汇编语言和机器语言&#xff0c;早期的这些语言被叫做指令式编程范式&#xff08;所谓编程范式就是程序设计的方法论&#xff09;。程序员直接操作计算机的指令来完成任务&#xff0c;这种编程方式非常接近硬件。早期的代码比较少&#xff0c;逻…

基于CDMA的多用户水下无线光通信(2)——系统模型和基于子空间的延时估计

本文首先介绍了基于CDMA的多用户UOWC系统模型&#xff0c;并给出了多用户收发信号的数学模型。然后介绍基于子空间的延时估计算法&#xff0c;该算法只需要已知所有用户的扩频码&#xff0c;然后根据扩频波形的循环移位在观测空间的信号子空间上的投影进行延时估计。 1、基于C…

matplotlib之savefig函数

savefig函数 Matplotlib中&#xff0c;savefig函数用于保存图形为文件。通过该函数&#xff0c;你可以将绘制的图形保存为常见的图像文件格式&#xff0c;如PNG、JPEG、SVG等。 matplotlib.pyplot.savefig(fname, dpiNone, bbox_inchestight, pad_inches0.1, formatNone, tra…

分类接口开发

文章目录 1.查询所有一级分类1.sun-club-application-controller 控制层1.SubjectCategoryController.java 定义基础的queryPrimaryCategory&#xff0c;调用领域层 2.sun-club-domain 领域层1.SubjectCategoryDomainService.java2.SubjectCategoryConverter.java3.SubjectCate…

Python 算法交易实验72 QTV200第一步: 获取原始数据并存入队列

说明 最近的数据流往前进了一步&#xff0c;我觉得基本可以开始同步的推进QTV200了。上次规划了整体的数据流&#xff0c;现在开始第一步。 内容 1 结构位置 这是上次的总体图&#xff1a; 以下是这次要实现的一小部分&#xff1a; 从结构上&#xff0c;这个是整体数据流的…

力扣-接雨水

文章目录 概要题解解释代码比较左右高度处理右侧为什么双指针法有效 概要 原题链接&#xff1a;接雨水 题解 思路&#xff1a;双指针 核心思想&#xff1a;对于任意位置 i&#xff0c;能够存储的雨水量取决于位置 i 左侧和右侧的最大高度中的较小值减去 height[i]。即 min(le…