![](/img/trans.png)
[英]How to run bash script from npm script that exports environment variables
[英]How do I print $2 BEFORE $1 from a bash script run by npm?
所以我對自定義npm腳本和它們運行的bash腳本之間的關系感到困惑。 編輯 :我不認為這是一個孤立的bash問題。 我可以通過將echo $2 $1
寫入.sh文件並直接從終端運行它來產生以下所述的預期行為
例如
"scripts": {"report":"echo $2 $1"}
如果我從終端運行: npm run report "first" "second"
,因為在我的NPM劇本,我叫$2
之前 $1
,我期待它輸出這樣的: second first
,但由於某些原因,它始終打印$1
第一: first second
(編輯)
我通過將參數作為變量緩存,然后打印了這些內容,從而嘗試了一種解決方法:
"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
編輯*:
問題在於您嘗試使用節點的方式。 看來$ X變量未由節點填充。 它只是將您的參數附加到命令的其余部分。
編輯* 2:
解決方法
{
"scripts": {"report":"a(){ echo $2 $1; };a"}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.