Shell中的SSH,用来自远程主机的系统信息填充数组

时间:2014-11-19 14:31:53

标签: arrays bash shell ssh

ssh $remote '( df -k )' > $REMOTE_SPACE
for (( i=0; i<no_dest; i++ ))
    do
        ssh $remote "( aux_free_space[i]=$( du -sk ${aux_dest[${i}]}  | cut -f 1 ) )"
    done

除了填充数组aux_free_space []之外,一切正常;我认为du在当地主持人身上运行。

  • ssh $ remote工作正常
  • aux_free_space在开头初始化
  • aux_dest已经填充

1 个答案:

答案 0 :(得分:2)

ssh $remote df -k > $REMOTE_SPACE

for ((i = 0; i < no_dest; i++)); do
    aux_free_space[i]=$(ssh $remote du -sk ${aux_dest[i]} | cut -f 1)
done

必须将数组赋值拉出到本地shell中,但du必须远程完成。 cut可以在任何一方完成,因此要降低报价水平,您可以在本地进行。 (如果du返回了大量输出,您可以选择远程执行cut以减少网络流量。)