我是 Linux 环境的新手,我注意到有很多程序我们只能使用程序名称在 Linux 终端中启动它们。
例如gedit
,,vi
firefox
我不想提供程序的所有路径,而是想在终端中仅输入程序名称来运行自己的程序。我喜欢运行的程序是用 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 搜索可执行文件,您可以执行以下两项操作之一。
- 将要运行的文件添加到 PATH 目录之一中。
或者
- 向您的路径添加新目录
对于选项 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 中。