通过桌面图标运行 bash 脚本时找不到节点命令
Posted
技术标签:
【中文标题】通过桌面图标运行 bash 脚本时找不到节点命令【英文标题】:Node command not found when bash script is run through desktop icon 【发布时间】:2021-08-17 08:58:23 【问题描述】:我正在尝试使用 bash 脚本从桌面图标运行节点应用程序。桌面图标执行 bash 脚本,这个应该运行节点应用程序。如果我手动运行 bash 脚本,节点应用程序会正常启动,但是当我双击桌面图标时,bash 脚本会返回: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
我使用的是通过 nvm 安装的 Ubuntu 20.04 和 Node 12.14.1。
【问题讨论】:
【参考方案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
【讨论】:
以上是关于通过桌面图标运行 bash 脚本时找不到节点命令的主要内容,如果未能解决你的问题,请参考以下文章
自动化测试脚本中包含adb命令,jenkins构建时找不到adb解决办法