Web*_*b-E 6 bash ssh io-redirection shell-script
这两个问题让我发疯,我没有很好的 ssh 专业知识。(但我怀疑这仅与重定向有关)
问题是,
您希望从调用
abc.txt
该ssh
命令的文件中传递多行输入。完成执行此操作所需的命令
$ssh _ _ abc.txt
(只有两个字符)(详细解释会有所帮助)
和
您希望将来自名为 Remote.txt 的文件的多行输入传递给
ssh
但应删除后续输入中的所有前导选项卡。完成命令以执行此操作
$ssh _ _ _ Remote.txt
要将输入从本地文件传递到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