我是bash腳本的初學者,而且我面臨一個問題。 我創建了文件「script.sh」,我想打開模板文件並用不同的值替換特定的屬性。這是我的劇本,我很感激,如果有人告訴我這是什麼問題..由sed命令在bash腳本中編輯文件
#!/bin/bash
TEMPLATEFILE="Template.xml"
XMLDir="Results"
OUTPUTDir="Output"
TIMES=2
QUAN=50
DIST=150
OUTPUT_File="Output_"
mkdir $XMLDir
mkdir $OUTPUTDir
rm -rf $XMLDir
rm -rf $OUTPUTDir
echo $TIMES
x=1
echo ${x}
while [ $x -le $TIMES ]
do
RANDOMVAR =${Random}
outputFile=${OUTPUT_File}"_"${QUAN}"_"${RANDOMVAR}"_"${DIST}".xml"
outputText=${OUTPUT_File}"_"${QUAN}"_"${RANDOMVAR}"_"${DIST}".txt"
touch ${outputFile}
sed -e "s/$SEEDVALUE/$RANDOMVAR/"
-e "s/$EXPIREMENT/$QUAN/"
-e "s/$DISTANCE/$DIST/"
-e "s/$OUTPUTFILE/$outputText/"
< $TEMPLATEFILE > $outputFile
echo $outputFile" is generated in "$x" iteration out of "$TIMES
x=$(($x + 1))
done
echo "done"
我通過運行該文件在終端:慶典script.sh
的xml文件中含有大量的線,但我試圖改變如下:
<run length="0" seed_value="SEEDVALUE" />
<outputfileName name="expirement" output="OUTPUTFILE" />
<distancevalue value="DISTANCE" />
<entity number="EXPIREMENT" base_num="1">
運行腳本時,它給我「意外的文件結尾」
刪除變量名稱後面的空格:'RANDOMVAR ='。否則,shell嘗試以'='作爲參數運行'RANDOMVAR'命令。 – choroba
謝謝,我做了,但仍然有同樣的問題 – Yasmin
它適用於我。你確定你顯示完整的代碼? – choroba