簡體   English   中英

特殊字符,如星號 argv

[英]special characters like asterisks argv

像下面這樣運行我的腳本:

Node index.js POST *

在我的腳本中,我這樣做:

process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`);
});

output 將是以下內容,其中 * 導致將我所有文件的名稱轉儲到我的項目中:

$ node index.js POST *
0: C:\Program Files\nodejs\node.exe
1: C:\Users\myComputer\myScript\index.js
2: POST
3: commands
4: data.json
5: index.js
6: node_modules
7: package-lock.json
8: package.json

我如何查看傳遞的 arg 是否為 astricts?

它適用於其他參數,如其他字符串(在我的示例“POST”中)。

我還使用了 https://github.com/tj/commander.js和同樣的問題。

使用節點版本 15

如果您在bash或一些類似的shell中運行它,那么在進入您的程序之前,通配發生在 shell 級別。 您看不到是否從程序內部鍵入了星標,因為shell將其切換為目錄中所有文件的列表。

如果你想傳遞一個真正的星星,你可以把它放在引號里,這樣 shell 就不會把它擴展到所有文件,而是按原樣傳遞給程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM