当前位置:  开发笔记 > 编程语言 > 正文

如何从npm运行的bash脚本中打印$ 2 BEFORE?

如何解决《如何从npm运行的bash脚本中打印$2BEFORE?》经验,为你挑选了1个好方法。

所以我对我的自定义npm脚本和它们运行的​​bash脚本之间的关系感到困惑. 编辑:我不认为这是一个孤立的bash问题.我可以通过写入echo $2 $1.sh文件并直接从终端运行它来产生下面描述的预期行为

例如

"scripts": {"report":"echo $2 $1"}

如果我从终端运行:npm run report "first" "second" 因为在我的NPM剧本,我打电话之前,我期待它输出这样的:,但由于某种原因它总是输出第一:(编辑)$2$1second first$1first second

我通过将参数缓存为变量尝试了一种解决方法,然后打印出来:

"scripts": {"report": "(FIRST=$1 && SECOND=$2) && echo $SECOND $FIRST"}

但是输出相同:npm run report "first" "second"=>first second

是什么赋予了?



1> Mikel..:

以下bash文件对我有用:

echo $2 $1

运行:

bash file.sh 1 2

输出:

2 1

编辑*:

问题在于您尝试使用节点的方式.似乎$ X变量没有被节点填充.它只是将您的参数附加到命令的其余部分.

编辑*2:

解决方法

{
"scripts": {"report":"a(){ echo $2 $1; };a"}
}

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有