来自文本文件的 ssh 输入

Web*_*b-E 6 bash ssh io-redirection shell-script

这两个问题让我发疯,我没有很好的 ssh 专业知识。(但我怀疑这仅与重定向有关)

问题是,

您希望从调用abc.txtssh命令的文件中传递多行输入。完成执行此操作所需的命令

$ssh _ _ abc.txt (只有两个字符)(详细解释会有所帮助)

您希望将来自名为 Remote.txt 的文件的多行输入传递给ssh但应删除后续输入中的所有前导选项卡。完成命令以执行此操作

$ssh _ _ _ Remote.txt

jan*_*nos 5

要将输入从本地文件传递到ssh,您应该使用输入重定向,如下所示:

ssh user@server < abc.txt
Run Code Online (Sandbox Code Playgroud)

你确定这_一定是一个单独的角色吗?在这种情况下,如果x配置为~/.ssh/config某个 user@host 的别名,则这是可能的:

ssh x < abc.txt
Run Code Online (Sandbox Code Playgroud)

我无法回答问题2,因为我不太明白。我想 Remote.txt 在遥控器上。

根据第二个问题,我认为 Remote.txt 是远程端的文件,在这种情况下命令应采用以下形式:

ssh user@server "bash < Remote.txt"
Run Code Online (Sandbox Code Playgroud)

...但这不符合问题描述,_ _ _当然要删除尾随选项卡还需要更多,例如:

ssh user@server "bash < <(sed -e 's/^[    ]*//' Remote.txt)"
Run Code Online (Sandbox Code Playgroud)

换句话说,这并不能回答第二个问题。我希望这可以帮助您理解与ssh.

编辑

再次阅读 Q 后,由于它说“将多行输入传递到 ssh”,表明我们必须再次使用重定向到 ssh,在这种情况下文件必须是本地的。

ssh user@server < <(sed 's/^[    ]*//' Remote.txt)
Run Code Online (Sandbox Code Playgroud)

但同样,我认为这不符合以下形式的答案ssh _ _ _ Remote.txt