Bash
來自文本文件的 ssh 輸入
這兩個問題讓我發瘋,我沒有很好的 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