この単純な bash スクリプトがあります。引数に渡された各ファイルに対して ns シミュレーターを実行します。最後の引数は、検索するテキスト文字列です。
#!/bin/bash
nsloc="/home/ashish/ns-allinone-2.35/ns-2.35/ns"
temp="temp12345ashish.temp"
j=1
for file in "$@"
do
if [ $j -lt $# ]
then
let j=$j+1
`$nsloc $file > $temp 2>&1`
if grep -l ${BASH_ARGV[0]} $temp
then
echo "$file Successful"
fi
fi
done
私は期待しました:
file1.tcl Successful
私は得ています:
temp12345ashish.temp
file1.tcl Successful
ターミナルで自分でシミュレータ コマンドを実行すると、出力先のファイル名が取得されません。
この出力の最初の行が印刷されている場所から取得していません。説明してください。
前もって感謝します。