gpt4 book ai didi

bash - 通过ssh远程读取行时处理未填充读取变量

转载 作者:行者123 更新时间:2023-12-02 14:14:15 25 4
gpt4 key购买 nike

我正在尝试通过以下方式通过ssh远程处理一会儿读取行循环:

ssh /root/.ssh/id_rsa "while read var; do echo \"- $var -\"; done < /tmp/file; cat /tmp/file"

/ tmp / file远程存在。命令的输出应为:
- /tmp -
- /var -
/tmp
/var

但是输出实际上是:
- -
- -
/tmp
/var

为什么$ var不能在远程执行时被填充?
如果碰巧通过ssh将控制台连接到计算机并执行相同的命令,则它会按预期工作。

最佳答案

您应该使用单引号或将$转义为$var。现在$var在ssh运行之前已被替换。

ssh /root/.ssh/id_rsa 'while read var; do echo "- $var -"; done < /tmp/file; cat /tmp/file'

关于bash - 通过ssh远程读取行时处理未填充读取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36374221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com