如何在一个命令中启动几个.sh?

如何在一个命令中启动几个.sh?

我文件夹中有一些文件,我想用一个命令启动它们。结构如下:

keddad@keddad-HP:/media/$ ls
somfile.sh
otherfile.sh
onemorefile.sh

因此我尝试使用以下命令来执行此操作:

./*

但它只启动第一个文件,忽略文件夹中的其他文件。我怎样才能一次性启动它们(或者让它们一个接一个地工作,这样在终止第一个文件后才会启动第二个文件)?

答案1

当你尝试 ./* 时,shell 会看到单个命令:

./somfile.sh ./otherfile.sh ./onemorefile.sh

或者换句话说,它看到一个命令(./somefile.sh)带有两个参数(./otherfile.sh ./onemorefile.sh)

要逐个(顺序)运行它们:

for each in ./* ; do "${each}" ; done

要一次运行它们(同时/并行):

for each in ./* ; do "${each}" & done

相关内容