使用 shell 脚本构建由 glob 匹配的多个文件
Building multiple files matched by globs with a shell script
我目前正在使用 gulp(一个基于 nodejs 的实用程序)作为我的构建系统,这是不必要的复杂。因此,无论我在哪里,我都将我的构建系统切换为纯 shell 脚本。我还没有找到移植方法的唯一功能之一是将多个文件与 glob 匹配,然后并行构建所有文件。
这是我的用例的更具体描述:我想将 sass 构建到 css,我用来查找根 sass 文件的 glob 是这个 src/*/index.{sass,scss}
。然后我希望我的文件在这个目录 dest/*.css
中构建和输出(其中 *
代表初始搜索中匹配的任何 glob)。
有没有使用 shell 脚本的简单方法?
大概是这样的:
#!/bin/bash
for file in src/*/index.{sass,scss}
do dir=$(dirname "$file")
subdir=$(basename "$dir")
dosomecommand with $file to dest/$subdir.css &
done
wait
通常这种事情是用 makefile 完成的。
我目前正在使用 gulp(一个基于 nodejs 的实用程序)作为我的构建系统,这是不必要的复杂。因此,无论我在哪里,我都将我的构建系统切换为纯 shell 脚本。我还没有找到移植方法的唯一功能之一是将多个文件与 glob 匹配,然后并行构建所有文件。
这是我的用例的更具体描述:我想将 sass 构建到 css,我用来查找根 sass 文件的 glob 是这个 src/*/index.{sass,scss}
。然后我希望我的文件在这个目录 dest/*.css
中构建和输出(其中 *
代表初始搜索中匹配的任何 glob)。
有没有使用 shell 脚本的简单方法?
大概是这样的:
#!/bin/bash
for file in src/*/index.{sass,scss}
do dir=$(dirname "$file")
subdir=$(basename "$dir")
dosomecommand with $file to dest/$subdir.css &
done
wait
通常这种事情是用 makefile 完成的。