gpt4 book ai didi

node.js - 如何从 npm 运行的 bash 脚本中打印 $2 BEFORE $1?

转载 作者:搜寻专家 更新时间:2023-11-01 00:23:15 24 4
gpt4 key购买 nike

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

例如

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

如果我从终端运行它:npm run report "first""second"因为在我的 npm 脚本中,我调用了 $2 BEFORE $1,我希望它输出这个:second first,但出于某种原因,它总是先打印 $1:first second(edited)

我尝试了一种变通方法,将我的参数缓存为变量然后打印它们:

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

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

什么给了?

最佳答案

以下 bash 文件适合我:

echo $2 $1

运行:

bash file.sh 1 2

输出:

2 1

编辑*:

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

编辑*2:

解决方法

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

关于node.js - 如何从 npm 运行的 bash 脚本中打印 $2 BEFORE $1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34113475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com