我有一个非常简单的计算器应用程序:
if (process.argv[3]==='+') console.log(parseInt(process.argv[2]) + parseInt(process.argv[4]));
if (process.argv[3]==='-') console.log(parseInt(process.argv[2]) - parseInt(process.argv[4]));
if (process.argv[3]==='*') console.log(parseInt(process.argv[2]) * parseInt(process.argv[4]));
if (process.argv[3]==='/') console.log(parseInt(process.argv[2]) / parseInt(process.argv[4]));
console.log(process.argv[3])
2 + 2,2-2,2 / 2都按预期工作,但2 * 2将注销脚本名称。
为什么会这样?什么是乘法符号?
答案 0 :(得分:1)
因为*
是一个shell通配符,它对shell有特殊意义,在将它传递给节点之前将其展开。
您必须使用\*
这样或"*"
或'*'
这样传递。