ssh 多条命令执行
格式:ssh user@ip command
单条命令:ssh user@ip command1
多条命令:ssh user@ip "command1;command2"
不加双引号的情况 ssh user@ip command1 | command2: 其中command1在远程机器上执行,command2在本机器执行
ssh user@ip "ip a | grep '{print \$2}'" 这种情况使用的话,要对$符号进行转义
下图所示,第一条命令:awk的命令功能并没有生效,需要对$进行转义;
第二条命令:\$转义后生效,远程直接返回匹配结果;
第三条命令:结果来看和第二条相同,其实,uname -a实在远程机器执行,执行完的全部信息返回来,然后又在本地机器进行awk过滤
注意这种方式的ssh连接获得的环境变量和登录之后获得的环境变量不一样,所有,存在某些命令这种方式无法执行,但是登录之后可以执行的情况,解决办法是,给出命令行的绝对路径
另外注意 ssh user@ip "cmd1 && cmd2" 和 ssh user@ip "cmd1 ; cmd2" 还有 ssh user@ip "cmd1 || cmd2"的区别:
&&表示前面执行成功后执行后面的命令,||表示执行失败了执行后面的命令;“;”表示依次执行两条命令
ssh user@ip "echo $PATH" 输出的是本机PATH值;ssh user@ip "echo \$PATH" 输出的是远端ip的PATH值。
ssh 多条命令执行的更多相关文章
- Python——cmd调用(os.system阻塞处理)(多条命令执行)
os.system(返回值为0,1,2)方法 0:成功 1:失败 2:错误 os.system默认阻塞当前程序执行,在cmd命令前加入start可不阻塞当前程序执行. 例如: import os os ...
- python中接受上一条命令执行的结果----subprocess.check_output()
subprocess.call 是不能作为赋值的,需要用到 subprocess.check_output 函数,而且如果要引用赋值就必须使用subprocess.call(['echo',line] ...
- linux如何判断上一条命令执行是否正确
echo $? 如果输出0代表结果正确 如果输出非0代表结果错误
- [教程]K8Cscan调用外部程序(Win/Linux批量上控/执行多条命令/保存结果)
0x000 调用原理 Cscan调用外部程序有两种方式,一是编写DLL,二是配置文件 编写DLL文件对于不懂编程的人来说可能会很难(虽然支持各语言) 由于考虑到很多人不会编程或会编程又急用无法短时间转 ...
- Linux不管上一条命令成功还是失败都执行下一个命令的方法
转载请注明来源https://www.cnblogs.com/sogeisetsu/p/11407830.html Linux不管上一条命令成功还是失败都执行下一个命令的方法 Linux不管上一条命令 ...
- Linux:命令执行顺序控制与管道
命令执行顺序控制与管道 顺序执行 简单的顺序命令可以使用符号";"完成,如:sudo apt-get update;sudo apt-get install some-tool;s ...
- (大数据工程师学习路径)第一步 Linux 基础入门----命令执行顺序控制与管道
介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终 ...
- Redis 命令执行过程(上)
今天我们来了解一下 Redis 命令执行的过程.在之前的文章中<当 Redis 发生高延迟时,到底发生了什么>我们曾简单的描述了一条命令的执行过程,本篇文章展示深入说明一下,加深读者对 R ...
- Redis 命令执行全过程分析
今天我们来了解一下 Redis 命令执行的过程.我们曾简单的描述了一条命令的执行过程,本篇文章展示深入说明一下,加深大家对 Redis 的了解. 如下图所示,一条命令执行完成并且返回数据一共涉及三部分 ...
随机推荐
- linux 如何删除文件夹下面的文件和文件夹,只保留两个文件
# 删除目录下那两个文件之外的所有文件 find dir/ -type f ! -name file1 -a ! -name file2 | xargs rm -f # 删除所有空目录(非空目录不 ...
- 解决urbuntu桌面本客户端输入ll command not found
用桌面版的urbuntu系统,打开客户端输入ll,报错如下 于是度娘,解决方案:可以作如下修改:打开 ~/.bashrc 找到 #alias ll=’ls -l’,去掉前面的#就可以了.(关闭原来的终 ...
- iOS 中 h5 页面 iframe 调用高度自扩展问题及解决
开发需求需要在 h5 中用 iframe 中调用一个其他公司开发的 html 页面. 简单的插入 <iframe /> 并设置宽高后,发现在 Android 手机浏览器上打开可以正常运行, ...
- 虚拟机 VMware安装系统,提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态
VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态 VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态这是怎么回事呢? Intel VT ...
- 深入迁出mybatis系列
本系列教程均源于南柯梦,经好库文摘转发,感谢南柯梦的辛苦整理. 深入迁出mybatis系列 深入浅出Mybatis系列(一)---Mybatis入门 深入浅出Mybatis系列(二)---配置简介(m ...
- java 异常与记录日志
一. 你可能还想利用java.util.logging工具将输出记录到日志中 package exceptions; //: exceptions/LoggingExceptions.java // ...
- 无root或sudo权限,安装mysql
这其实才是真正的linux,恰当使用权限. 网上找到的中文博客,基本上就那么几篇原创,都要编译源码.但89服务器性能太差编译一次大约半小时无法忍受,在本机上创建了standard用户去尝试几篇博客所言 ...
- Java编程的逻辑 (52) - 抽象容器类
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- .NetCore中使用ExceptionLess记录Polly中的操作异常日志
结合上一篇文章我写了一个demo测试下 重试2次 _polly.PollyRetry<Exception>(()=>_demoQuery.GetTestAOPAsync(), ); ...
- 如何快速切换Python运行版本,如何选择Python版本
想必在学习Python时会面临选择Python2.X或者是Python3.X的问题. 我在电脑上不同位置下载安装了不同版本 的Python,当我在学习时,不管是需要哪一个版本才能运行都无所谓,相应的快 ...