ssh节点上的Eash bash变量

编程入门 行业动态 更新时间:2024-10-09 07:17:36

ssh<a href=https://www.elefans.com/category/jswz/34/1771452.html style=节点上的Eash bash变量"/>

ssh节点上的Eash bash变量

[在节点中执行bash命令并传递动态参数时,标准方法是使用spawn并避免转义。那是:

const filename = 'file with spaces'
spawn('ls', [filename]) // All good, received 'file with spaces'

这很简单,因为文件名是作为独立变量传递给bash的。

现在,如果我想通过ssh进行同样的操作会怎样?以下是not选项:

const filename = 'file with spaces'
spawn('ssh', [host, 'ls', filename]) // Wrong!! Received 'file' 'with' 'spaces'

Ssh接受ls和文件名作为vargars。加入并执行,这将达到目的。

回答如下:

一种方法是使用具有预期字符的base64传递值,然后在bash中转义

spawn('ssh', [host, 'ls', `"$(echo ${btoa(filename)} | base64 -d)"`])

更多推荐

ssh节点上的Eash bash变量

本文发布于:2024-05-07 01:32:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754065.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:节点   变量   ssh   bash   Eash

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!