1
我嘗試遠程處理,同時通過ssh閱讀環線下列要求:處理,同時通過ssh不填讀取行遠程讀取變量
ssh /root/.ssh/id_rsa "while read var; do echo \"- $var -\"; done < /tmp/file; cat /tmp/file"
/tmp目錄/文件存在於遠程位置。該命令的輸出應該是:
- /tmp -
- /var -
/tmp
/var
但輸出居然是:
- -
- -
/tmp
/var
爲什麼不能是$ var在這裏得到填充,當遠程執行? 如果我碰巧通過ssh將控制檯連接到計算機並執行相同的命令,它將按預期工作。
加雙引號和 - 只是爲了測試。轉義雙引號或者通過不帶雙引號的echo $ var進行替換不會改變預期的結果。 – deajan
其實問題是使用雙引號。看到我更新的答案。 –
確實......我應該考慮變量替換,而不是在一個小時左右嘗試看看會發生什麼。謝謝。 – deajan