如何设置程序只在程序名称的Linux终端上运行

时间:2015-02-03 18:35:47

标签: linux unix

我是Linux新手,我不知道有很多程序我们只能使用程序名在Linux终端中启动它,比如geditvifirefox而不是提供在所有程序的路径中,我喜欢在终端中运行我自己的程序,只输入程序名称,我喜欢运行的程序写在JavaPython.jar,{{1 }},.pyc.py

我想知道如何逐步完成

3 个答案:

答案 0 :(得分:1)

您可以编写任何程序/脚本作为命令。假设您的executable script/program被命名为my_script,并被放置在/path/to/my_script

确保脚本是可执行的。如果没有,那么请做

chmod +x /path/to/my_script

然后,将符号链接放在/usr/local/bin中作为

的此位置
sudo ln -s /path/to/my_script /usr/local/bin

您可以将符号链接添加到$PATH中提到的任何路径。

就是这样,享受你的节目。

答案 1 :(得分:0)

其他答案都涉及在已经在系统PATH中列出的目录中创建符号链接,但我认为将所需目录添加到PATH中更加单一。

如果您的脚本位于$HOME/bin/myscript并且您已确定它是可执行的,那么您可以运行

export PATH=$HOME/bin:$PATH

在没有给出完整路径的情况下运行它。您可以将相同的行添加到主目录中的.bashrc文件中,以便在启动shell时将其预加载。此方法不要求用户有权在系统目录中创建符号链接。

答案 2 :(得分:-1)

如果你的主文件夹中有一个可执行的二进制文件(比如说sublime_text),你必须给它执行permision并用它的相对路径调用它

chmod +x sublime_text
./sublime_text

如果您在 / usr / bin (或PATH中包含的其他文件夹)中创建符号链接,则可以通过其名称调用

sudo ln -s ~/sublime_text /usr/bin/sublime_text
sublime_text

在您的情况下,您不是在处理二进制文件,而是使用要解释的脚本。为此,你必须在shebang前面告诉linux什么是执行脚本的二进制文件。例如,如果它是一个python脚本~/hello.py,这些可能是脚本的内容:

#!/usr/bin/python
print "Hello, World!"

第一行告诉linux使用python二进制文件执行脚本。

从那时起,您可以:

chmod +x hello.py
sudo ln -s ~/hello.py /usr/bin/hello
hello

它将回应" Hello World"到控制台。