循环时可执行:没有这样的文件或目录

时间:2014-07-03 20:20:24

标签: linux bash shell loops executable

我正在尝试编写一个简单的bash脚本来迭代可执行文件的输入参数。有问题的文件有两个参数。

以下脚本有效,在包含.sh文件和.exe文件的目录中运行终端:

#!bin/bash
./exec 1000 1

但以下情况并非如此:

#!bin/bash
n=1
while [ $n -le 50 ]
do
    ./exec 1000 $n
    n=$(( n+1 ))
done

但是返回错误

  

script.sh:第5行:./ exec 1000 1:没有这样的文件或目录

     

script.sh:第5行:./ exec 1000 2:没有这样的文件或目录

等等。这意味着循环正在发生,但我不明白为什么它突然无法找到可执行文件。我正在运行Ubuntu 14.04。

1 个答案:

答案 0 :(得分:1)

一旦我修好了shebang线,它对我有用:

#!/bin/bash
n=1
while [ $n -le 50 ]
do
    ./exec 1000 $n
    n=$(( n+1 ))
done

原始版本会导致有关错误解释器的错误消息,但如果您的工作目录恰好是/当您运行脚本时,可能会避免这种情况。