Linux 下以当前所有子文件夹为参数执行相关命令行
比如 cargo run --bin 文件夹名称
需要执行当前目录下的所有的子目录
find . -maxdepth 1 -type d -not -name '.' -not -name '..' -exec sh -c "cargo run --bin \$(basename {})" \;
如果你想在当前目录下的所有子文件夹中运行与文件夹同名的二进制文件,可以使用 find
命令来实现。以下是一个示例命令:
find . -maxdepth 1 -type d -not -name '.' -not -name '..' -exec sh -c "cargo run --bin \$(basename {})" \;
这个命令将会:
- 使用
find
在当前目录下查找所有子文件夹,排除 .
和 ..
。
- 对于每个找到的子文件夹,使用
-exec
选项执行一个 shell 命令。该命令会运行 cargo run --bin
并传递文件夹的名称给它。
请注意,如果你的文件夹名称中包含特殊字符,可能需要进一步处理。这里使用了 \$(basename {})
来获取文件夹的名称并传递给 cargo run --bin
。
在运行该命令之前,请确保你在包含 Rust 项目的目录中,并且你的 Rust 项目正确地配置了与子文件夹同名的二进制文件。
如果你在 Windows 上使用 PowerShell,你可能需要稍微修改命令,因为 Windows 的命令行语法与 Unix 风格有所不同。