仅通过名称在终端中启动程序

仅通过名称在终端中启动程序

我是 Linux 环境的新手,我注意到有很多程序我们只能使用程序名称在 Linux 终端中启动它们。

例如gedit,,vifirefox

我不想提供程序的所有路径,而是想在终端中仅输入程序名称来运行自己的程序。我喜欢运行的程序是用 Java 和 Python 以及脚本文件(.jar、.pyc、.py 和 .class)编写的

我该如何继续?

答案1

假设您要fun.py使用命令执行位于桌面上的名为的文件funny。显然,您需要 python 来实现这一点,因此确切的 bash 命令应该是python ~/Desktop/fun.py

如何做到这一点而不改变 PATH 变量:

首先创建一个名为的文件,funny其内容如下:

#! /bin/sh
python ~/Desktop/fun.py

并将其保存到文件夹(假设您已将其保存在桌面文件夹中)。

如果不存在,请bin在您的主目录中创建一个名为的文件夹。然后从终端执行以下命令:

source .profile
chmod +x ~/Desktop/funny
mv ~/Desktop/funny ~/bin

现在您可以输入命令funny来执行python脚本。

答案2

为了做到这一点,您需要更新执行 PATH 变量。要查看 PATH 变量,您可以 echo $PATH在终端中输入这些是 bash 从左到右查找可执行文件的位置。

要添加一个目录以供 bash 搜索可执行文件,您可以执行以下两项操作之一。

  1. 将要运行的文件添加到 PATH 目录之一中。

或者

  1. 向您的路径添加新目录

对于选项 1。

如果您PATH=/usr/bin 可以将您想要执行的程序复制到那里。

对于选项 2

如果你创建了一个包含所有程序的新目录, /home/bob/bin 你可以通过在最后编辑 .bashrc 文件来将其添加到你的 PATH 中,添加以下行: PATH=$PATH:/home/bob/bin

然后加载那些 .bashrc 更改类型source .bashrc

答案3

我认为 /usr/local/bin 是用户创建脚本等的首选位置,您只需使用名称即可启动它们。您复制到那里的任何内容都可以通过名称启动,因为名称在 $PATH 中。要验证您的 $PATH 内容类型:

echo $PATH

要运行 bash、sh 或任何脚本,请确保已为文件设置“允许执行”:

chmod +x  my_script

与运行“python my_code.py”或可能需要参数的类似程序相关,您可以创建一个小脚本来启动该脚本并将脚本定位到 /usr/local/bin 中。

相关内容