bash 脚本通过桌面图标 运行 时找不到节点命令

Node command not found when bash script is run through desktop icon

我正在尝试使用 bash 脚本从桌面图标 运行 节点应用程序。桌面图标执行 bash 脚本,这个脚本应该 运行 节点应用程序。如果我手动 运行 bash 脚本,节点应用程序正常启动,但是当我双击桌面图标时,bash 脚本 returns: line 3 node: command not found 并以 Bye 结束(参见下面的脚本)。

此处是 .desktop 图标内容和 bash 脚本。

.desktop:

[Desktop Entry]
Version=1.0
Name=Todo
Comment=Shortcut to my app
Exec='/home/myuser/app/run_todo.sh'
Icon=/home/myuser/Pictures/donatello.svg
Terminal=true
Type=Application
Categories=Application

bash脚本:

#!/bin/bash
cd /home/myuser/app/todo_app/
node ./app.js
echo "Bye"
$SHELL

我正在使用 Ubuntu 20.04 和通过 nvm 安装的 Node 12.14.1。

同事解决了这个问题。只需添加

PATH="/home/myuser/.nvm/versions/node/v12.14.1/bin:$PATH"

#!/bin/bash 行之后。

所以 bash 脚本最终是:

#!/bin/bash
PATH="/home/myuser/.nvm/versions/node/v12.14.1/bin:$PATH"

cd /home/myuser/app/todo_app/
node ./app.js
echo "Bye"
$SHELL