0
#!/bin/sh
export CLASSPATH=.

for i in "1" "2" "3" "4" "5"
do
echo "running simulation $i..."

cd /home/acharya/ns-allinone-2.35/ns-2.35/
./ns /home/acharya/Desktop/xx/wrls.tcl
mv conf-out-tdsr.tr /home/acharya/Desktop/xx/parser
mv monitorlog.txt /home/acharya/Desktop/xx/parser/r2/evil$2/scen$i
mv reputationlog.txt /home/acharya/Desktop/xx/parser/evil$2/scen$i
mv pathmanagerlog.txt /home/acharya/Desktop/xx/parser/r2/evil$2/scen$i
mv misbehavenodeslog.txt /home/acharya/Desktop/xx/parser/r2/evil$2/scen$i
cd /home/acharya/Desktop/xx/parser/
java DSRParser trace conf-out-tdsr.tr $1 $2 > r2/evil$2/scen$i/scen-r2-$i.txt
java DSRParser routestats r2/evil$2/scen$i/pathmanagerlog.txt $1 $2 >> r2/evil$2/scen$i/scen-r2-$i.txt
cd ..done

これが2番目のスクリプトです-:

#!/bin/sh
export CLASSPATH=.
#./run1.sh
for i in "0" "10" "20" "30" "40"   
do   
    echo "Simulating evil node no. $i ..."
    cp /home/acharya/Desktop/xx/hdr_confidant.hevil$i /home/acharya/ns-allinone-2.35/ns-2.35/dsr/hdr_confidant.h
    cd /home/acharya/ns-allinone-2.35/ns-2.35
    rm dsr/*.o
    make
    cd /home/acharya/Desktop/xx/
    ./run.sh 50 $i
done

これらは私が意味について知りたい2つのシェルスクリプトです。

mv monitorlog.txt /home/acharya/Desktop/xx/parser/r2/evil$2/scen$i

中古についてscen$icp /home/acharya/Desktop/xx/hdr_confidant.hevil$i ファイル名はhdr_confidant.hのみですが、evil$i一緒に使用されます。

4

2 に答える 2

1

最初のスクリプトは5回実行され、変数iが「1 2 345」リストの各値に割り当てられます。ループの反復ごとに、ファイルのセットが移動されます。scen$1私が変わると、scen1、scen2、scen3...になります。2つのJavaプログラムが実行され、出力ファイルは$i値を使用して、結果の各セットが異なるディレクトリに書き込まれるようにします。

2番目のスクリプトも同様です。ループ変数は10、20、30などに割り当てられます。

$ 1は、スクリプトの最初のパラメーターです。$2は2番目のパラメーターです。

存在しないディレクトリを作成するには、ループの先頭にあるループ内にこれを挿入します-:

 [ -d /home/acharya/Desktop/xx/parser/r2/evil$2 ] || mkdir /home/acharya/Desktop/xx/parser/r2/evil$2
于 2013-03-22T06:57:07.817 に答える
0

$ iは、1/2/3/4/5または10/20/30/40/50のiの値に置き換えられます。たとえば、iの値が1で、2番目の引数が2の場合

mv monitorlog.txt / home / acharya / Desktop / xx / parser / r2 / evil $ 2 / scen$iはmvmonitorlog.txt/ home / acharya / Desktop / xx / parser / r2 / evil2/scen1になります

$2はスクリプトの2番目の引数です。

于 2013-03-22T06:56:36.693 に答える