我有带有 xfce 和 hexo 的 Debian 9.5:3.7.1
问题是关于限制我的名为“草稿”的脚本:
s@lokal:~$ sudo cat /usr/local/bin/draft
#!/bin/bash
killall hexo
cd /home/s/Dropbox/blog
hexo clean
pwd
whoami
hexo g --draft
hexo server --draft &
sleep 5
firefox 'http://localhost:4000/'
s@lokal:~$
我想要解决的是从桌面条目运行 hexo 组合命令。桌面文件是这样的
s@lokal:~$ cat ~/Desktop/blog.desktop; ls -l ~/Desktop/blog.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=blog
Comment=
Exec=/usr/local/bin/draft
Icon=accessories-text-editor
Path=/home/s/Dropbox/blog/
Terminal=true
StartupNotify=true
-rwxr-xr-x 1 s s 179 Sep 21 18:16 /home/s/Desktop/blog.desktop
我将终端键设置为 true 以查看消息。单击桌面条目后我收到此消息:
hexo: no process found
/usr/local/bin/draft: line 4: hexo: command not found
/home/s/Dropbox/blog
s
/usr/local/bin/draft: line 9: hexo: command not found
/usr/local/bin/draft: line 10: hexo: command not found
消息的重要部分是未找到 hexo 命令。当我运行附加到的相同命令时执行关键,该命令实际上已找到。
s@lokal:~$ /usr/local/bin/draft
hexo: no process found
INFO Deleted database.
INFO Deleted public folder.
/home/s/Dropbox/blog
s
INFO Start processing
INFO Files loaded in 599 ms
...
如何修复桌面条目以及为什么会这样?
更新
添加一些数据
s@lokal:~/Dropbox/blog$ whereis hexo
hexo: /home/s/.nvm/versions/node/v10.9.0/bin/hexo
s@lokal:~/Dropbox/blog$ $PATH
bash: /home/s/.nvm/versions/node/v10.9.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games: No such file or directory
s@lokal:~/Dropbox/blog$
答案1
清除了 Nodejs 和 Hexo 安装。将 node-v10.11.0-linux-x64 提取到/opt/
.安装了 Hexo。在终端中输入
sudo ln -s /opt/node-v10.11.0-linux-x64/bin/node /usr/bin/node
sudo ln -s /opt/node-v10.11.0-linux-x64/bin/npm /usr/bin/npm
sudo ln -s /opt/node-v10.11.0-linux-x64/bin/npx /usr/bin/npx
sudo ln -s /opt/node-v10.11.0-linux-x64/bin/hexo /usr/bin/hexo