0
當試圖運行這個CMD:遠程SSH:沒有這樣的文件或目錄
ssh [email protected] " cp -f /path1/`cat /path2/file.txt | awk -F : '{printf $4}' `* ../ "
得到這個:
貓:/path2/file.txt:沒有這樣的文件或目錄
注意,當在服務器中直接執行它,它的工作原理
感謝您的任何意見
當試圖運行這個CMD:遠程SSH:沒有這樣的文件或目錄
ssh [email protected] " cp -f /path1/`cat /path2/file.txt | awk -F : '{printf $4}' `* ../ "
得到這個:
貓:/path2/file.txt:沒有這樣的文件或目錄
注意,當在服務器中直接執行它,它的工作原理
感謝您的任何意見
試試這個:
ssh [email protected] 'cp -f /path1/$(awk -F : '\''{printf $4}'\'' /path2/file.txt)* ..'
這可能是也很有趣:Useless Use of Cat Award。
或者這樣:
ssh [email protected] 'cp -f '\'"$path1"\''/$(awk -F : '\''{printf $4}'\'' /path2/file.txt)* ..'
請記住:
'a'\''b'
變爲a'b
'a'"$x"'b'
變成a${x}b
作爲一個變量從本地服務器製作/ path1呢? – FuSsA
作爲第一個指針:我猜你的本地shell會解釋'cat ...'。這意味着反引號('')之間的所有內容都將被替換爲計算機上該命令的輸出(我認爲即使在ssh進程啓動之前)也是如此。 – Felix
請提供更多信息,以瞭解這些文件的外觀應該如何 – Felix
爲SSH參數使用單引號。並且根本不使用反標記。他們已被棄用。改用'$()'。 – ceving