我怎样才能做到只需在控制台中输入其名称即可运行特定程序?

我怎样才能做到只需在控制台中输入其名称即可运行特定程序?

我最近刚刚从 git 存储库下载并安装了 Light Table,然后按照本网站创建桌面启动器。

现在我想通过直接在终端中输入来运行该程序

LightTable

并不是

./opt/LightTable/deploy/LightTable

答案1

这可以通过别名粗略地实现。您可以通过在文件中添加一行来创建永久的 bash 别名.bashrc

在终端运行nano ~/.bashrc

在底部添加以下行:

alias LightTable='/full/path/opt/LightTable/deploy/LightTable'

注意我添加了完整路径而不是,.因此这可以在任何工作目录中工作。关闭并重新打开终端或运行source ~/.bashrc以重新加载 bashrc 文件。

答案2

这不是一个基本的问题,最好的方法是创建一个别名,我将使用 netbeans 作为示例

打开终端Ctrl+Alt+T

nano ~/.bashrc

在文件底部写下:

alias netbeans='/home/john/netbeans-7.0.1/bin/netbeans'

Ctrl + x

Y

Enter

netbeans 单词是您将用来启动程序的命令,您可以将其更改为任何您需要的内容。引号内是调用 netbeans 别名时要运行的命令。

为了使此命令生效,你必须重新打开终端

答案3

如果它是一个简单的可执行程序并且不依赖于任何其他文件,您可以尝试将可执行文件复制到/usr/bin。如果它确实依赖于其他文件,最好的做法是为该程序创建一个快捷方式命令。

您可以在自己创建别名的地方(.bashrc、.profile 等)。不过我个人让我的所有环境变量在我的.bash_aliases文件中(您需要首先创建它)。

在 HOME 文件夹中创建文件 .bash_aliases,然后根据需要对其进行编辑。然后,要创建快捷方式,您可以执行以下操作:

alias LightTable='path_to_opt/LightTable/deploy/LightTable'

保存文件就完成了。

ps:您还可以将别名设为 lighttable 和 LIGHTTABLE,以防忘记将 L 大写或意外激活了 capslock,这样您就不必再次输入命令。

答案4

我认为创建符号链接比创建别名更好。别名可能当您不需要时,可以在命令行上进行替换;创建符号链接将允许您根据需要运行该程序:

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

相关内容