我有一个前开发者留给我的bash脚本:
#!/bin/bash
for f in styles/*.less styles/brand/*.less
do
filename=$(basename "$f")
if [ "${filename:0:1}" != '_' ]; then
lessc --no-color -x "${f}" "$(sed 's|^=src/styles/|httpdocs/css/|;s/.less$/.css/' <<< $f)"
fi
done
文件夹结构如下所示:
-httpdocs
-css
-brand
brand1.css
brand2.css
etc...
global.css
-src
-styles
-brand
brand1.css
brand1.less
brand2.css
brand2.less
_reset.less
_style.less
etc...
global.css
global.less
compile_less.sh <--the bash script in question
我正在对global.less进行更改,如果我正确理解了脚本,它应该遍历styles文件夹中的每个文件,如果它不是以下划线开头,则使用less和使用stream editor命令将结果转储到样式和httpdocs文件夹中的.css文件中,根据文件名(brand1.less编译并转储到brand1.css)。
问题是,脚本似乎没有做任何。我是bash脚本的新手,但似乎可能只有几个错误可以修复它(我在sed命令中某处猜测)。有人可以帮忙吗?
答案 0 :(得分:0)
我假设您的脚本位于Clive所暗示的根目录中。
在调试模式下运行它可能会告诉您根本原因。
如果没有,请使用此命令的输出进行更新:
bash -x compile_less.sh
附:我无法添加评论,因此张贴作为答案。