我有许多文件需要用命令行运行的软件来处理。每次执行大约需要 8 小时,所以我想让这个过程自动化。
我如何编写一个脚本来自动执行此操作?我想象的算法是这样的:调用命令来处理文件 1,等待它完成,调用命令来处理文件 2,等等。它就像一个队列。我可以用 shell 脚本、python 或 java 编写。
答案1
默认情况下使用 bash,一个命令直到第一个命令完成后才会启动,因此您可以使用:
/path/to/command /path/to/file1
/path/to/command /path/to/file2
/path/to/command /path/to/file3
将命令放入名为 example 的脚本中~/run-all-commands
。然后使用以下命令将其标记为可执行文件:
chmod +x ~/run-all-commands
然后使用以下命令批量调用 bash 脚本:
~/run-all-commands
答案2
获取ls
文件夹列表。
编写一个脚本并script arguments
使用您的文件夹作为参数来调用它。
脚本执行以下操作:
sp = $(pwd)
for i in $@
do
cd $i
cp ../command .
./command
cd $sp
done
我假设command
它本身就是一个本地脚本。如果它是某个东西~/bin
,或者/bin
您可以像调用其他脚本一样调用它。