【问题标题】:Run node file from ssh command through shell script通过 shell 脚本从 ssh 命令运行节点文件
【发布时间】:2020-09-24 22:39:02
【问题描述】:

这里我试图通过shell脚本使用ssh命令在AWS服务器中运行节点文件,其中shell文件中有一个运行节点文件的命令(node test.js)

执行以下命令,将在 AWS 服务器中运行 shell 文件

ssh -i sample-test.pem ubuntu@ip 'bash -s' < my-folder/test.sh
  • test.sh 文件 [Shell 文件]

    node test.js
    
  • test.js 文件[节点文件]

    console.log("Venkatesh");
    

如果我直接在 AWS 服务器内运行 shell 命令,节点文件会完美运行。但是如果我使用 ssh 命令运行,它会抛出如下错误:

line 1: node: command not found

我也尝试过使用 node-ssh 包从 nodejs 中,再次出现同样的错误。

如何通过 ssh 命令通过 shell 脚本运行节点文件?

【问题讨论】:

  • 你安装了nodejs吗?我可以知道你使用的命令是什么
  • 是的!我已经安装了nvm。供您参考,这些是我使用的命令: sudo apt-get -y install build-essential libssl-dev curl -o- raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash 导出 NVM_DIR="${HOME}/.nvm" [ -s "${NVM_DIR}/nvm.sh" ] && 。 "${NVM_DIR}/nvm.sh" [ -s "${NVM_DIR}/bash_completion" ] && 。 "${NVM_DIR}/bash_completion" nvm install 8 nvm use 8
  • 能否输入命令 node -v, npm -v
  • v8.17.0 - 节点 6.13.4 - npm
  • 你是否在 bash 配置文件中定义了路径?

标签: node.js shell ssh nvm


【解决方案1】:

感谢ROOT

在运行节点文件时添加节点路径。将添加which node 的响应以运行节点文件。

which node  #FULL/PATH/TO/NODE
FULL/PATH/TO/NODE test.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 2018-03-29
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多