Bash
ssh 遠端執行 - 問題
這將列印 4 行:
ssh root@remote_ip "service iptables restart"
輸出:
iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ]
**VAR=$()**內部的相同命令
VAR=$(ssh root@remote_ip "service iptables restart") echo $VAR
這次它只列印這一行:
iptables: Applying firewall rules: [ OK ]: filter [ OK ]
該行甚至不是標準 4 行輸出中的一行。
對我來說沒有意義。
另外..我想看到像原來的4行輸出。
如果命令的輸出包含輸入符(CRLF 或
\r\n
DOS 那樣),這將是效果:$ text=$( printf 'A\r\nB\r\nC\r\n' ) $ echo $text C
但是,如果您在回顯時正確引用變數:
$ echo "$text" A B C