當我嘗試在控制臺中列印此命令的輸出時,
ssh 192.168.1.120 'df -h | grep sda2; hostname;'我得到了這個
/dev/sda2 23G 8.0G 14G 38% /
localhost
雖然我想看這個
/dev/sda2 23G 8.0G 14G 38% / localhost
雖然我可以用以下方式在同一行列印這些
result=`ssh 192.168.1.120 'df -h | grep sda2; hostname;'`
echo $result
這不是我想要的,因為這種方式不會保留字符之間的實際空格。
有沒有辦法讓它作業?
uj5u.com熱心網友回復:
通常 ppl 只是使用這樣一個事實,即命令替換會洗掉尾隨的換行符。
ssh 192.168.1.120 'echo $(df -h | grep sda2) $(hostname)'
在您的情況下,您也可以對其進行后處理。
ssh ... | paste -sd' '
ssh ... | tr -d '\n'
從一個命令中洗掉換行符:
ssh ... 'df -h | grep sda2 | tr -d "\\n" ; hostname'
更喜歡$(...)反引號`。使用 shellcheck 檢查您的腳本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/314553.html
