![为 LightTable 创建全局 shell 命令](https://linux22.com/image/1132264/%E4%B8%BA%20LightTable%20%E5%88%9B%E5%BB%BA%E5%85%A8%E5%B1%80%20shell%20%E5%91%BD%E4%BB%A4.png)
尝试创建一个全局命令来启动 lighttable(编辑器)版本 0.8.0
最初我尝试了我认为简单的方法,将提取的 lighttable 文件夹移动到 /opt,然后创建了一个符号链接
sudo ln -s LightTable /usr/bin/Lt
当这不起作用时我把它改成了
sudo ln -s ./LightTable /usr/bin/Lt
这不起作用所以我尝试将目录添加到我的路径中然后从那里创建一个别名。
执行 lighttable 的命令是
./Lighttable
所以在我的 ~/.profile 中我添加了
export LT_HOME=/opt/lighttable/
export PATH=$PATH:$LT_HOME
然后我创建了我的 ~/.bash_aliases 文件并添加了
alias light="./LightTable"
然后我重新启动了 shell 并尝试使用别名,但失败了
sayth@:~$ light
bash: ./LightTable: No such file or directory
我怎样才能实现这个目标?
编辑
最初找不到答案,现在找到了
答案1
sudo ln -s LightTable /usr/bin/Lt
sudo ln -s ./LightTable /usr/bin/Lt
这两个命令都没有达到你想象的效果。在这两种情况下,Lt
都指向LightTable
当前目录中的相对于自身。
您应该做的是指定链接目标的完整路径:
sudo ln -s /opt/lighttable/LightTable /usr/bin/Lt
alias light="./LightTable"
LightTable
您仍在从当前目录 ( )运行./
。当您为命令提供绝对或相对路径时,则PATH
不会检查 。您应该只运行LightTable
,或者别名应该只是:
alias light=LightTable