Bash

來自文本文件的 ssh 輸入

  • March 30, 2014

這兩個問題讓我發瘋,我沒有很好的 ssh 專業知識。(但我懷疑這僅與重定向有關)

問題是,

您想從呼叫命令abc.txt的文件中傳遞多行輸入。ssh完成執行此操作所需的命令

$ssh _ _ abc.txt (只有兩個字元)(詳細說明會有所幫助)

您希望從名為 Remote.txt 的文件中傳遞多行輸入,ssh但應刪除後續輸入中的所有前導選項卡。完成命令以執行此操作

$ssh _ _ _ Remote.txt

要將輸入從本地文件傳遞到ssh,您應該像這樣使用輸入重定向:

ssh user@server < abc.txt

你確定_必須真的是一個字元嗎?在這種情況下,如果x配置~/.ssh/config為某個 user@host 的別名,這是可能的:

ssh x < abc.txt

我無法回答 Q2,因為我不太了解它。我想 Remote.txt 在遙控器上。

根據第二個問題,我想 Remote.txt 是遠端端的一個文件,在這種情況下,命令應該是以下形式:

ssh user@server "bash < Remote.txt"

…但這不符合問題描述_ _ _,當然要刪除尾隨製表符,還需要更多一些,例如:

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

換句話說,這並不能回答第二個問題。我希望這有助於您在與ssh.

編輯

再次閱讀 Q 後,因為它說“向 ssh 傳遞多行輸入”表明我們必須再次使用重定向到 ssh,在這種情況下,文件必須是本地的。

ssh user@server < <(sed 's/^[    ]*//' Remote.txt)

但同樣,我不認為這有資格作為表格中的答案ssh _ _ _ Remote.txt

引用自:https://unix.stackexchange.com/questions/44757