我正在尝试编写一个简单的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。

最佳答案

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

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

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

关于linux - 可执行while循环:无此类文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24562673/

10-13 07:47
查看更多