我需要從我現有的 xml 檔案中恢復 rrd 檔案。所以我使用了以下簡單的 bash 腳本。
#!/bin/bash
for i in /home/dump_xml/*.xml;
do
rrdtool restore $i /home/rrd_new/"${i%.xml}".rrd;
done
由于此錯誤,我無法執行以下腳本,
ERROR: Could not create xml reader for: /home/dump_xml/*.xml
但我可以一個一個恢復檔案。有人可以幫我解決這個問題嗎?
uj5u.com熱心網友回復:
當您使用:
for i in /home/dump_xml/*.xml
do
echo "$i"
done
你會看到 $i 等于:
- /home/dump_xml/a.xml
- /home/dump_xml/b.xml
你看,它包含路徑。因此,您rddtool將嘗試將結果寫入/home/dump_xml/home/dump_xml/a.rrd.
你所要做的:
#!/bin/bash
for i in xml/*.xml
do
filename=$(basename "$i")
rrdtool restore "$i" /home/rrd_new/"${filename%.xml}".rrd;
done
不要忘記雙引號你的變數擴展名。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/479319.html
