我刚刚安装了Light Table,并从git存储库下载了它,并按照此网站上的说明创建了桌面启动器。
现在我想通过直接在终端中输入来运行程序
LightTable
并不是
./opt/LightTable/deploy/LightTable
我刚刚安装了Light Table,并从git存储库下载了它,并按照此网站上的说明创建了桌面启动器。
现在我想通过直接在终端中输入来运行程序
LightTable
并不是
./opt/LightTable/deploy/LightTable
Answers:
如果可执行文件/usr/bin
是简单的可执行程序且不依赖于任何其他文件,则可以尝试将其复制到。如果它确实依赖于其他文件,则最好的办法是为该程序创建一个快捷命令。
您可以自己创建别名(.bashrc,.profile等)。但是,我个人将所有环境变量都保存在.bash_aliases
文件中(您首先需要创建它)。
在您的HOME文件夹中创建文件.bash_aliases并根据需要进行编辑。然后创建快捷方式,您可以执行以下操作:
alias LightTable='path_to_opt/LightTable/deploy/LightTable'
保存文件,仅此而已。
ps:您也可以将别名分别设置为lighttable和LIGHTTABLE,以防忘记大写L或意外激活了大写锁定,因此不必再次键入命令。
/usr/local/bin
。在物联网/usr/bin
可以被擦除或公寓包取代,但事情/usr/local/bin
被单独留在家中。
我不确定为什么其他答复者没有提出这个建议,但是正如OP实际指出的那样,在$PATH
变量之前加上前缀是我实现此目的的方式:
echo 'PATH=/opt/LightTable/deploy:$PATH' >> ~/.bash_profile
source ~/.bash_profile
然后运行:
LightTable
LightTable
来lighttable
的易用性:echo 'alias LightTable=lighttable' >> ~/.bash_alias && source ~/.bash_alias
。
创建一个符号链接比我认为的别名更好。当您不想使用别名时,可以在命令行上进行替换。创建一个符号链接将使您可以根据需要运行该程序:
sudo ln -s full_path_to_opt/LightTable/deploy/LightTable /usr/local/bin
这将在/ usr / local / bin(应该已经在您的PATH中!)中创建一个指向LightTable实际位置的快捷方式。还请注意,如果您不喜欢“ LightTable”中的大写字母,也可以重命名符号链接:
sudo ln -s full_path_to_opt/LightTable/deploy/LightTable /usr/local/bin/lighttable
仅供参考,如果程序设计笨拙,即抱怨找不到配置文件或库或其他内容,那么另一个可能更有用的解决方案是创建包装脚本。为此,只需在其中创建一个名为“ LightTable”(或您喜欢的其他文件)的文件(无论您何时喜欢):
#!/bin/sh
# Simple script to run LightTable
if ! cd full_path_to_opt/LightTable/deploy/LightTable ; then
echo "$0: error: LightTable directory not found." >&2
exit 1
fi
exec ./LightTable
更改此文件的权限:
chmod 755 <wrapper_script>
并尝试执行该命令以查看其是否有效,然后将其移至/ usr / local / bin:
sudo mv -i <wrapper_script> /usr/local/bin
我在Ubuntu中启动时尝试这样做。将LightTable放入终端时,它将在$PATH
目录中搜索名为LightTable的文件。您可以放入echo $PATH
获取目录。
如果要在中执行LightTable程序./opt/LightTable/deploy/LightTable
,则要做的是将Light Table文件放入,/usr/games or /usr/bin.
但这需要超级用户权限
通过Ctrl + Alt + T打开终端
然后放
我更喜欢使用以下方式创建LightTable的快捷方式
sudo ln -s path/to/LightTable /usr/games/LightTable
然后输入SU密码。然后,您可以通过LightTable
在终端中使用来访问程序
您可以放一个目录,也可以放它/usr/bin
,/usr/local/bin
而不是放/usr/games
任何东西$PATH
,它不必像这样,但是我建议您将它放在/usr/local/bin
我也建议您将输出文件更改lightpath
为LightPath
PATH
环境变量通常不是实现此目的的最佳方法,并且有时甚至会破坏系统或创建安全漏洞。(必须考虑到会变成命令从此任何其他可执行文件,以及地方在PATH
它的添加。)添加壳别名,所涵盖的答案在这里,是更好的人谁不想考虑这种复杂性; 它也可以针对特定的应用程序进行更严格的定制。因此,尽管它们确实有点重叠,但这不是该问题的重复。