我使用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。?
答案 0 :(得分: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 ...
命令的输出。
我希望这会有所帮助。
P.S。因为您似乎是新用户,如果您得到的答案可以帮助您,请记住将其标记为已接受,并且/或者给它一个+(或 - )作为有用的答案。