【问题标题】:Executing a js file through SCP gives error: syntax error near unexpected token `('通过 SCP 执行 js 文件会报错:出现意外标记 `(' 附近的语法错误
【发布时间】:2019-10-23 14:37:43
【问题描述】:

我正在尝试使用 WinSCP 在 SCP 上执行一个 js 文件,但准确地说,我遇到了这个错误:

syntax error near unexpected token `('
`global.sjcl = require('./sjcl-1.0.6');'

那部分的代码是这样的:

#!/usr/bin/env node

global.sjcl = require('./sjcl-1.0.6');
var password = process.argv[3] || '',

【问题讨论】:

  • 如何通过SCP执行文件?
  • 我的意思是使用控制台工具,开发者给出的使用命令是:./main.js 在我的例子中,我不得不将./更改为bash,否则我会收到权限错误。对不起,如果我说得不好,我是这个主题的文盲。
  • 首先,SCP或WinSCP不能执行命令,所以你应该描述你实际在做什么,不要乱说一些你不知道它们是什么意思的词。其次,该脚本不打算使用bash 执行,所以不要使用bash。使用chmod a+x main.js 修复权限。如果这不能解决问题,您应该将信息添加到问题中,而不是添加到 cmets。
  • @RalfFriedl WinSCP can execute commands - 虽然显然不是 SCP。
  • @MarcGonzálezAlcolea 你能在像 PuTTY 这样的普通 SSH 终端中执行命令吗?

标签: javascript unix scp winscp


【解决方案1】:

该文件不是用bash 执行的,而是用node 执行的。您可以在第一行 #!/usr/bin/env <strong>node</strong> 中看到这一点。当您尝试使用bash 执行它时,bash 无法识别命令,您会收到有关语法错误的消息。

如果您没有执行权限,则应使用chmod a+x main.js 进行更改。之后,您将能够使用./main.js 执行该文件。

如果您不想更改权限,可以以node main.js 开头。

【讨论】:

    猜你喜欢
    • 2016-10-16
    • 2011-05-27
    • 2017-12-03
    • 2012-08-31
    • 2012-10-20
    • 2012-09-29
    • 2013-12-11
    • 1970-01-01
    相关资源
    最近更新 更多