如何在单个 ssh 命令中使用 bash $(awk)?

2023-12-31

我正在尝试执行一个命令ssh包含首先执行的“子代码”或 $(子代码)(我一直使用它,但我不知道其正式名称),但在目标服务器上。

为了便于讨论,假设这是我要使用的命令。当然这可以通过hostname,但这只是一个简化的示例,其中包含我想要使用的所有格式化魔法。

echo `uname -a | awk '{print $2}'`

没问题。但是你如何正确地逃避这个并将其发送过来ssh在一个命令中?以下是错误的,因为它让服务器回复您的本地主机名。子代码在本地执行:

ssh myServer echo `uname -a | awk '{print $2}'`

但任何想逃避的想法都行不通:

$ ssh myServer echo \`uname -a | awk '{print $2}'\`
awk: cmd. line:1: {print $2}`
awk: cmd. line:1:           ^ invalid char '`' in expression
$ ssh myServer echo \$(uname -a | awk '{print $2}')
bash: syntax error near unexpected token `('
$ ssh myServer echo \$\(uname -a | awk '{print $2}')
bash: syntax error near unexpected token `)'
$ ssh myServer echo \$\(uname -a | awk '{print $2}'\)
awk: cmd. line:1: {print $2})
awk: cmd. line:1:           ^ syntax error
bash: -c: line 0: unexpected EOF while looking for matching `)'
bash: -c: line 1: syntax error: unexpected end of file

我想要一个包括使用正确转义的答案` or $() because I'd like to know if it's possible.echo` 可能更复杂。


Try this

ssh myServer "uname -a | awk '{print \$2}' "

使用双引号"为了对您将远程执行的命令进行分组。

你还需要逃离$ in the $2参数,这样它就不会在本地计算,而是传递给awk远程。

Edit:

如果您想包括$( ),你必须再次逃离$符号,像这样:

ssh myServer "echo \$(uname -a | awk '{print \$2}') "

你也可以逃脱backtick`,像这样:

ssh myServer "echo \`uname -a | awk '{print \$2}'\` "
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在单个 ssh 命令中使用 bash $(awk)? 的相关文章

  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • 在 Bash Linux 中,如果给定进程运行时间超过指定时间,如何获取通知?

    我一切顺利 我的程序在大约 N 秒内完成 maybe deadlock 但有时会随机发生死锁 导致程序永远挂起 为了调试这个 我想按照以下方式运行该程序 如何调试罕见的死锁 https stackoverflow com questions
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • 如何使用bash脚本获取分区的偏移量?

    我可以用parted找出我的图像的偏移量 sudo parted s image img unit B print Model file Disk home user image img 107374182400B Sector size
  • 在 Bash 中替换垂直线

    我很难完成我的脚本 因为这一部分没有按照我想要的方式运行 我的脚本中有这一行 cat home tmp temp1 txt awk gsub RS gsub RS print gt home tmp temp txt 效果很好 是的 但是当
  • bash 脚本抱怨文件名太长

    所以我有一个脚本可以执行此操作 jq 是命令行 JSON 处理器 echo Getting LB Node IDs echo LB STATUS jq loadBalancer nodes id 最后一行的输出是 1 2 3 但是当我尝试将
  • Python DNS服务器IP地址查询

    我正在尝试使用 python 获取 DNS 服务器 IP 地址 要在 Windows 命令提示符下执行此操作 我将使用 ipconfig 全部 如下所示 我想使用 python 脚本做同样的事情 有什么方法可以提取这些值吗 我成功提取了设备
  • 使用脚本从网站中提取电子邮件地址

    给定一个网站 我想知道以编程方式和 或使用脚本的最佳程序是什么 以纯文本形式提取每个页面上存在的所有电子邮件地址 电子邮件受保护 cdn cgi l email protection从该链接和下面的所有站点 递归或直到某个固定深度 使用 s
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • Windows 10 上的 LibPNG 构建问题

    我试图在 Windows 10 上构建 libpng 以获取 win32 二进制文件 但我认为有一个与 awk 解析带有 CRLF 行结尾的文件相关的问题 我尝试使用 dos2unix 命令转换文件 但没有成功 结果相同 在 make 命令
  • 在 bash 脚本中检测鼠标点击

    我想知道如何在后台运行 bash 脚本 每当用户单击鼠标时该脚本都会执行某些操作 即运行脚本或命令或其他任何内容 即使终端关闭 我也希望它继续运行 有任何想法吗 谢谢 如果您使用的是X11 您可以尝试xdotool捕获鼠标事件 它会是这样的
  • 如何在 Google Compute Engine 上创建的两个实例之间进行 ssh?

    我在 Google Compute Engine 上创建了两个实例 Instance A hostname robot a ip addr 10 111 0 11 Instance B hostname robot b ip addr 10
  • 如何扩展路径中的波形符(~)[重复]

    这个问题在这里已经有答案了 我有一个 shell 脚本 可以从用户那里获取目录路径 但我需要检查目录是否为空 如果用户将他的主路径与 而不是绝对路径 所以我无法检查它ls echo Specify your project root dir
  • Rails 4.1 环境变量未重新加载

    我创建了一个application yml文件在配置目录中并添加了一些键值对 即AWS REGION us east 1 我还添加了以下内容application rb读取文件并更新 ENV 哈希 if Rails env developm
  • 如何登录ec2机器?

    我获得了 EC2 机器的一些登录信息 基本上是 ec2 X X X compute X amazonaws com 加上用户名和密码 如何访问机器 我尝试过 ssh ssh email protected cdn cgi l email p
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • 如何检查主机是否在您的known_host ssh中

    我的脚本中使用以下命令 将主机添加到 ssh 中的已知主机 VAR2 expect c spawn ssh o StrictHostKeyChecking no REMOTE HOST USER REMOTE HOST IP expect
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find

随机推荐

  • 使用 awk 解析 csv 并忽略字段内的逗号

    我有一个 csv 文件 其中每一行定义给定建筑物中的一个房间 除了房间之外 每行都有一个地板区域 我想要提取的是所有建筑物的所有楼层 我的文件看起来像这样 u floor u room name 0 00BDF AIRPORT TEST 0
  • Typedef 声明的形式为“int typedef my_int;”

    声明my int作为类型别名int我们可以写 typedef int my int 1 奇怪的是 以下似乎也定义了int alias int typedef my int 2 我以前从未见过这样的语法 为什么它有效 我读后的推理C 参考 h
  • 自定义类型文件到 Angular 6

    我正在尝试以角度方式广告一些自定义类型定义文件 但面临一些错误 在应用程序文件夹中 我有外部文件夹 其中有 external d ts 文件和下面的代码 declare function format input string args s
  • 如何包含目录中保存的所有CSS?

    html中是否可以同时包含多个css 或者更准确地说 是否可以一次性包含放置在一个目录中的所有 css 就像目前我们所做的是 我需要类似的东西 是否可以 或者有什么替代方案吗 您可以创建一个主样式表 将其包含在每个页面中 并在该 css 文
  • 在 Laravel 4 中重定向回时保留表单值

    我试图在 Laravel 4 上 Redirect back 时保留表单的值 但我找不到方法来做到这一点 这是我的表格 Form open array route gt generate files gt true Form radio m
  • 将 GWT-RPC-Applicaton 部署到 JBoss AS 7.1.1 时出现 ClassNotFoundException

    我有一个 Maven 基础 GWT 应用程序 当我通过 Maven 编译 构建并部署它到 JBoss AS 7 1 1 时 我的 GWT RPC Service 出现了 ClassNotFoundException 在我包含之前 我部署了并
  • INVALID_STATE_ERR:DOM 异常 11

    我正在开发一个简单的辅助类来使用 XmlHttpRequest 发送请求 代码如下 但我无法让它发挥作用 例如 在 google chrome 中 我收到错误INVALID STATE ERR DOM Exception 11在其他浏览器上
  • 子进程命令的实时输出

    我使用 python 脚本作为流体动力学代码的驱动程序 当需要运行模拟时 我使用subprocess Popen要运行代码 请收集输出stdout and stderr into a subprocess PIPE 然后我可以打印 并保存到
  • 如果文本太长,如何自动显示工具提示?

    在 Windows 应用商店应用程序中 我有以下 TextBlock
  • 为什么 cmd.exe 在 64 位计算机上具有不同的错误级别行为?

    如果我制作一个名为 temp bat 的批处理脚本 例如 其中包含 exit b 1 当我以各种方式运行它时 我在 32 位 XP 系统和 64 位 XP 系统上得到不同的行为 在 32 位上 gt temp bat gt echo ERR
  • 如何在没有 Manifest.mbdx 的 iOS 5.0 beta 2 中解析 Manifest.mbdb 文件

    我有一个用 iOS 5 beta2 还有 iTunes 10 5 beta 制作的备份 但令我惊讶的是 它不包含 mbdx 文件 The mbdb文件看起来与以前的格式相同 如何匹配文件 ID 和文件名而不需要Manifest mbdx 备
  • PATH 中的其他脚本

    我尝试使用 Homebrew 在 OS X 10 7 5 上安装 Rails 并继续收到以下警告 我已经尝试了很多次更改 PATH 以排除 Python 目录 修改 bash profile 但我什至不确定这就是导致警告的原因 如果这是严重
  • 自定义验证器触发但它不会更新 ValidationSummary

    您好 我正在开发一个自定义表单字段验证器 似乎自定义验证器正在工作 不允许它继续到下一页 但它不会更新验证摘要 也不会显示我的星号和标签 已经变得可见 我在同一字段上还有其他验证器 例如RequiredFieldValidator 我的 V
  • 沉默樱桃

    我有一个cherrypy 服务器将xml 文件分发到网页 当我的服务器运行时 cherrypy 会为已请求的每个网页提供日志 并注明时间戳和网址 对于典型使用来说 这是一个相当不错的功能 但是当请求达到每秒超 过 10 个请求时 日志可能会
  • 推后选项卡消失 ionic 3

    我的标签在使用后消失this navCtrl push NamePage 看不懂 需要使用 ViewChild或者其他功能 我已经设定tabsHideOnSubPages on false in 应用程序模块 ts 例子 https git
  • jinja2 从模板加载模板文件

    有没有办法可以从另一个模板文件中加载 jinja2 模板 就像是 render template path to file html 我有一些想要重用的片段 因此拥有此功能对我来说很重要 include file 做这个 请参阅jinja2
  • Jupyter 密码未经过哈希处理

    当我尝试设置 jupyter 笔记本密码时 打开 jupyter notebook config json 文件时没有获得密码哈希 这是 json 文件的输出 NotebookApp password argon2 argon2id v 1
  • 在不同网站应用程序之间共享 ASP.NET .ascx 控件的最佳方式?

    假设 IIS 中有 2 个不同的 ASP NET 应用程序 此外 您还希望在这两个应用程序之间共享一些 ASCX 控件 创建 用户控件库 的最佳方法是什么 以便您可以在两个应用程序中使用相同的控件实现 而不必重复代码 控件有 ASCX 后面
  • ASP.NET Web API 记录入站请求内容

    我正在尝试注销 Web API 请求内容 即 json 字符串 我实现了一个 ITraceWriter 类 example http www asp net web api overview testing and debugging tr
  • 如何在单个 ssh 命令中使用 bash $(awk)?

    我正在尝试执行一个命令ssh包含首先执行的 子代码 或 子代码 我一直使用它 但我不知道其正式名称 但在目标服务器上 为了便于讨论 假设这是我要使用的命令 当然这可以通过hostname 但这只是一个简化的示例 其中包含我想要使用的所有格式