在执行命令时,如何准确地使用NPM脚本和echo?

在执行命令时,如何准确地使用NPM脚本和echo?,npm,comments,Npm,Comments,我找不到任何关于在执行NPM脚本时在终端中显示消息的文档 例如“bsync”:“echo'Starting BrowserSync'browser sync start”不起作用。您可以创建bash脚本 创建任何您喜欢的脚本(甚至复杂的脚本) 将脚本添加到your bin文件夹或/node_modules/.bin文件夹 然后在package.json的脚本部分添加以下内容 "scripts": { "bsync": "./bin/echo.sh" } 并创建echo.sh脚本:

我找不到任何关于在执行NPM脚本时在终端中显示消息的文档

例如
“bsync”:“echo'Starting BrowserSync'browser sync start”
不起作用。

您可以创建bash脚本 创建任何您喜欢的脚本(甚至复杂的脚本)

将脚本添加到your bin文件夹或/node_modules/.bin文件夹

然后在package.json的脚本部分添加以下内容

 "scripts": {
    "bsync": "./bin/echo.sh"
  }
并创建echo.sh脚本:

#!/bin/bash

echo 'Starting BrowserSync' browser-sync start
另一种选择是直接回显
再详细一点;您可以使用
&
&
将多个命令添加到一个脚本中

  • 并行执行
  • &&
    顺序执行
例如:

"scripts": {
    "bsync": "echo 'Starting BrowserSync' && browser-sync start"
}
通过在要回显的字符串中使用双引号和反勾号,还可以使用替换,例如:

"scripts": {
    "bsync": "echo \"Unix timestamp: `date +%s`\" && yarn somescript"
}
或者向npm脚本提供命令行参数

"scripts": {
    "bsync": "yarn somescript $(echo timestamp.`date +%s`)"
}

(使用
纱线
,但也可以是
npm运行

Ah,因此关于直接回显,我需要
&&
,第二个选项将用引号回显字符串,并以错误退出。但是,在执行之前会回显完整的命令。你知道怎么执行这个命令吗?如果它是一个批处理命令,那么@in-front就可以工作,但事实似乎并非如此。echo不是特定于平台的
"scripts": {
    "bsync": "yarn somescript $(echo timestamp.`date +%s`)"
}