Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向Node.js脚本传递参数时出现问题_Node.js_Bash - Fatal编程技术网

向Node.js脚本传递参数时出现问题

向Node.js脚本传递参数时出现问题,node.js,bash,Node.js,Bash,我的Node.js脚本在命令行和bash脚本中的运行方式不同。所有操作都通过命令行正常工作,但在bash脚本中运行时,无法识别第二个参数 我是否需要在bash脚本中以不同的方式传递参数 server.js提供了两个参数: 1.命令(在本例中,通过mySQL更新表) 2.表(通过从API提取的数据更新的所需表) 命令行/脚本条目: node server.js -update-table table1 server.js: var args = process.argv.sli

我的Node.js脚本在命令行和bash脚本中的运行方式不同。所有操作都通过命令行正常工作,但在bash脚本中运行时,无法识别第二个参数

我是否需要在bash脚本中以不同的方式传递参数

server.js提供了两个参数:
1.命令(在本例中,通过mySQL更新表)
2.表(通过从API提取的数据更新的所需表)

命令行/脚本条目:

node server.js -update-table table1
server.js:

var args          = process.argv.slice(2);
var command       = args[0];

switch (command) {
  case '-update-table':
    var tableName = args[1];
    switch (tableName) {
      case 'table1':
           tableUpdateFunction.table1();
           break;

      case 'table2':
           tableUpdateFunction.table2();
           break;

      default:
           console.log('ERROR: Unknown Table Name ' + tableName)
           break;
    }
    break;
}
从脚本运行时的控制台(触发默认情况):


我认为您可能遇到了Windows行结束问题。如果使用某些Windows实用程序准备脚本文件,然后在类似Unix的环境中调用它,那么命令行以CR-LF序列(Windows)终止的事实将导致编译用于Unix环境的shell出现问题,因为CR将被视为普通字符

这有点难看,因为CR在一行的末尾是完全不可见的,只有在其他上下文中它的效果才可见。通过确保在任何输出中替换的文本具有以下可见字符,可以使CR可见。例如,如果将错误报告更改为:

console.log('ERROR: Unknown Table Name "' + tableName + "'")
然后你可能会看到:

"RROR: Unknown Table Name "table1

请注意,
ERROR
中的
E
已被双引号覆盖;这是因为
table1
末尾的CR会使光标在打印以下
之前移回左边距。

您可以发布脚本吗?使用
console.log打印
tableName
的类型(tableName的类型)
在默认情况下。将解释您的问题。我不明白为什么有人会否决您的问题,因为它似乎已经到位(打印输出需要仔细考虑)@goodvibration:你的链接答案如何解释这个问题?链接答案是关于jQuery的
每个
的一个方面。谢谢!尝试从Windows移植我的服务器,所以这正是我的问题。
"RROR: Unknown Table Name "table1