编写一个 bash 脚本,该脚本将对目录“allfiles”中的所有文件执行程序“main”。 Main 是一个可执行文件。然后将结果定向到文件“output.dat”。
每当我运行 bash 脚本时,我都会收到错误消息“./main:没有这样的文件或目录”。 bash 脚本、主目录和“allfiles”目录都在“/home/directory/”中。我不确定为什么会收到此错误,或者我是否正确编写了 bash 脚本。任何帮助是极大的赞赏。
#!/bin/bash
for file in /home/directory/allfiles/*
do
./main $file >> output.dat
done
编辑:应该澄清“main”是从生成文件生成的可执行文件
最佳答案
如果您在运行脚本时不在/home/directory
中,那么它将无法找到main。尝试
#!/bin/bash
for file in /home/directory/allfiles/*
do
/home/directory/main $file >> output.dat
done
此外,如果 main 不可执行,您必须让 bash 手动调用它。为此使用 bash/home/directory/main $file
,或者使用 chmod +x main
使 main 可执行。
关于linux - 将对目录中的所有文件执行程序的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23259433/