如何在不调用其路径的情况下执行bash脚本?

时间:2016-12-17 17:59:41

标签: linux bash shell terminal

我在script.sh文件夹中有my-directory文件 如何使用`script'命令运行此脚本从终端而不考虑我在终端的位置?

2 个答案:

答案 0 :(得分:2)

您可以通过导出PATH环境变量中脚本的路径来实现此目的,这样您就不必担心实际脚本的位置,即您的脚本出现在/path/to/dir下,执行

export PATH=$PATH:/path/to/dir

这样,如果PATH下的路径,您的脚本的路径会被附加到已存在的集合中,还要记住如果从命令行运行上述路径,它不是永久性的,并且很快就会丢失会话终止。要使其永久添加.bashrc(或).bash_profile中的相同行,具体取决于您的环境。

或者从/usr/bin创建符号链接,您可以执行类似ln -s /full/path/to/myscript.sh /usr/bin/myscript的操作,然后直接从命令行运行myscript。您还可以通过which命令检查脚本的位置来确认是否正确添加了

 $ which myscript
/usr/bin/myscript

答案 1 :(得分:1)

假设您的目录为/home/Cristian/my-directory,那么您可以将export PATH=$PATH:/home/Cristian/my-directory的PATH环境变量的那一部分设置为script.sh,然后您可以通过键入script而不是{{1}来调用它}。如果您希望将其命名为script,则应将其命名为script并重命名扩展名。

export命令会暂时使有问题的目录成为PATH的一部分。为了使它永久化,如果你在其他shell中,你可能希望它成为.bashrc或其他shell rc文件的一部分。