而不是这个:
VERSION=\"$(node node/getAssetsVersion.js)\"
您可能需要使用:
VERSION=\"$(node node/getAssetsVersion.js | cut -d'\"' -f2)\"
如果您的程序的输出是您在问题中所写的:
=> "2.1.2"
如果只是这样:
"2.1.2"
那么上述方法仍然有效,但您可以使用更简单的命令:
VERSION=$(node node/getAssetsVersion.js)
没有引号。
但是在后面的部分中,$VERSION
可能不会像您期望的那样被替换。
既然你用我标记了你的问题,bash
我建议你编写一个 Bash 脚本:
#!/bin/bash
VERSION=$(node node/getAssetsVersion.js | cut -d'\"' -f2)
node-sass --include-path scss src/main.scss dist/$VERSION/main.css
或者:
#!/bin/bash
VERSION=$(node node/getAssetsVersion.js)
node-sass --include-path scss src/main.scss dist/$VERSION/main.css
取决于 getAssetsVersion.js 的输出,并将其放在 package.json 中:
"scripts": {
"build": "bash your-bash-script-name"
}
我会避免任何多次转义的引号。