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 不可执行

我们以这种方式使用 setdest

./setdest在 setdest 的目录中,为什么这不起作用我如何在这个 shell 脚本中编写 ./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
 #--^--^--^

必须为脚本设置至少一个“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 回答