私は bash スクリプトの初心者で、問題に直面しています。ファイル「script.sh」を作成しました。テンプレート ファイルを開いて、特定の属性を別の値に置き換えたいと考えています。これが私のスクリプトです。誰かが問題を教えてくれれば幸いです..
#!/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"
ターミナルでファイルを実行します:bash script.sh
xml ファイルには多くの行が含まれていますが、次の行を変更しようとしています。
<run length="0" seed_value="SEEDVALUE" />
<outputfileName name="expirement" output="OUTPUTFILE" />
<distancevalue value="DISTANCE" />
<entity number="EXPIREMENT" base_num="1">
スクリプトを実行すると、「予期しないファイルの終わり」が表示されます