0

複数のシナリオを生成するために、ns2 の setdest ユーティリティを使用して次のスクリプトを使用していますが、スクリプトが機能しません。

#!/bin/bash

dest_dir="movement"

if [ -d $dest_dir ]
then
      # Do nothing
      echo "'$dest_dir' is a directory"
else
      echo "Creating directory $dest_dir";
      mkdir --verbose $dest_dir
fi

setdest_loc="/home1/ns/ns-allinone-2.34/ns-2.34/indep-utils/cmu-scen-gen/setdest/setdest";

if [ -x $setdest_loc ]
then
      # Do nothing
      echo "$setdest_loc is executable"
else
      echo "$setdest_loc does not exist or is not executable";
      exit;
fi

# Create the scenarios

for i in 0 10 20 40 100
do
      $setdest_loc -v 1 -n 25 -p $i -M 20 -t 100 -x 500 -y 500 > $dest_dir/scen-25-$i
done

echo ""
echo "Created the following files"
echo ""
ls -la $dest_dir/scen-25*

if条件 setdest is not executable をエコーするだけです

このように setdest を使用します

./setdestsetdest のディレクトリにあるのに、なぜこれが機能しないのですか? このシェル スクリプトに ./setdest を書き込むにはどうすればよいですか?

4

1 に答える 1

0

する

ls -l /home1/ns/ns-allinone-2.34/ns-2.34/indep-utils/cmu-scen-gen/setdest/setdest

出力は、スクリプトが実行可能であることを示していますか?

 -rwxr-xr-x 1 umair Administrators 238 Aug 11 09:40 setdest
 #--^--^--^

スクリプトを実行するには、少なくとも 1 つの「x」を設定する必要があります。

そうでない場合は、権限を変更する必要があります

 chmod 755 /home1/ns/ns-allinone-2.34/ns-2.34/indep-utils/cmu-scen-gen/setdest/setdest

これで質問の答えが得られない場合は、質問を編集して、ls -l ...上記で指定したコマンドの出力を含めてください。

これが役立つことを願っています。

PS、あなたは新しいユーザーのようです。役立つ回答が得られた場合は、承認済みとしてマークすることを忘れないでください。また、有用な回答として + (または -) を付けてください。

于 2011-08-12T20:20:29.670 に答える