0
我想製作一個腳本,它貫穿所有可用的機器並將一些數據保存到我的主文件夾中。如何在命令中將變量的名稱替換爲文件名?
machines=`cat $OAR_FILE_NODES | uniq`
for machine in ${machines}
do
echo "connecting to:" ${machine}
oarsh ${machine} 'tar -zcvf data_${machine}.tar.gz /tmp/data'
done
的問題是,所有的數據被保存到data_.tar.gz
存檔,覆蓋了好幾遍。
如何讓shell替換變量機器進入傳遞給oarsh的命令?
如果在'oarsh'行中使用雙引號會怎麼樣?這樣,'$ machine'將會被擴展。 – fedorqui
像這樣'oarsh $ {machine} tar -zcvf「data _ $ {machine} .tar.gz」/ tmp/data'? –
像'oarsh $ {machine}「tar -zcvf data _ $ {machine} .tar.gz/tmp/data」'。 – fedorqui