zoukankan      html  css  js  c++  java
  • ssh 执行多条命令包含awk的用法

    格式: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值。

    https://stackoverflow.com/questions/14707307/how-to-use-bash-awk-in-single-ssh-command

  • 相关阅读:
    Python 类 元类 new之间的关系
    Scrapy Item类分析
    python中的可变参数和不可变参数
    简易python购物车
    关于Javascrip瀑布流深度解析
    python3.5 的str类型和bytes类型的转换
    php 扩展
    PHP开源网
    ElementUI中树形控件el-tree修改样式/添加title
    SVN 重命名文件夹
  • 原文地址:https://www.cnblogs.com/shengulong/p/8580210.html
Copyright © 2011-2022 走看看