如何创建一个bash脚本来将SCSS编译成可以使用不同文件名和路径的CSS?
例如,我运行此命令将我的SCSS文件编译到另一个目录中的CSS文件中:
sass test.scss ../css/test2.css
一遍又一遍地运行它很乏味,那么我该怎样做才能让这更容易呢?我是bash脚本的新手。
答案 0 :(得分:1)
这就是你要找的东西吗?
#!/bin/bash
f=${1:-test}
sass ${f}.scss ../css/${f}.css
此脚本运行sass FILENAME.scss ../css/FILENAME.css
。如果FILENAME
(没有扩展名)未被第一个参数设置,则默认为test
。您可以轻松更新它以接受多个输入文件。
但是你不会节省太多时间,因为你仍然需要调用该脚本而不是sass
。用另一个命令替换命令并不能完成任何事情。
使用!sass
代替重新运行同一文件或!!
上的最后一个sass命令,以重新运行上一个命令。查看bash history
。
使用方法:
将此脚本保存到文件中,例如xx
使xx
可执行文件:chmod u+x xx
在测试时不带参数运行它:./xx
使用不带扩展名的文件名运行它:./xx myscssfile
这是另一个版本,它将文件名列表作为输入或默认为test.scss:
#!/bin/bash
function dosass {
if [ $# -eq 0 ]; then return; fi
b=${1%.scss}
sass $b.scss ../css/$b.css
}
if [ $# -eq 0 ]; then
dosass "test.scss"
else
for f; do dosass $f; done
fi