我在Ubuntu 14.04上。可以说有一些可执行文件。
ATest, BTest, CTest, random1, random2
我想执行以" Test"结尾的所有内容,但我事先并不知道有多少可执行文件符合此标准
./*Test
只会最终执行ATest
但是类似
ls *Test
完美地显示以Test结尾的文件。
在不知道文件与此模式匹配的情况下,使用模式执行多个可执行文件的正确shell命令是什么?
答案 0 :(得分:3)
您可以使用简短的脚本来完成此任务:
#!/bin/bash
for f in *Test
do
"./$f"
done
或者,即使是单行:
for f in *Test; do "./$f"; done
答案 1 :(得分:3)
find . -name \*Test -exec ./{} \;
编辑:这也将搜索所有子目录。仅搜索当前目录:
find . -maxdepth 1 -name \*Test -exec ./{} \;