linux - 如何在没有./的情况下在命令行中运行/执行文件

时间:2016-02-07 22:16:15

标签: linux file execute

让我们说文件' foo.sh'拥有所有权限,我只想在当前目录中运行该文件:

#> ./foo.sh 

只需键入名称,我可以在哪里/哪里更改某些内容以执行文件(任何具有权限的文件):

#>foo.sh

我的想法是我总是可以这样做(在当前目录中)。如果./file.sh是执行文件的有效方式,file.sh也可以。无意在全球范围内运行file.sh

5 个答案:

答案 0 :(得分:0)

编辑"$PATH"变量以包含此文件所在的目录。 例如,这是我"$PATH"的一部分: / usr / local / bin:/ usr / bin:/ bin:/ usr / local / sbin:/ usr / sbin:/ sbin:/ home / rany / bin中

它包括以下目录:

  • 的/ usr / local / bin中
  • 的/ usr / bin中
  • / bin中
  • 的/ usr / local / sbin中
  • / usr / sbin目录
  • / sbin目录
  • /家庭/ rany / bin中

将可执行脚本放入其中一个目录后,您只需在命令行输入其名称即可执行它。

执行此操作后,我建议您阅读此Bash FAQ以获取更多信息。

答案 1 :(得分:0)

您也可以复制用于用户程序的/usr/local/bin目录下的脚本。

答案 2 :(得分:0)

如果要执行特定于本地用户的此文件,请创建~/bin目录,将文件放在其中,并将此路径附加到$PATH env。 ':'是分隔符检查以下链接。

http://www.cyberciti.biz/faq/unix-linux-adding-path/

但是如果你想全局访问它。然后将您的文件放在/ usr / bin或/ usr / local / bin中,然后检查这些路径是否已在$PATH中注册。添加您的权限。打开新终端尝试调用文件。

答案 3 :(得分:0)

为什么不使用'.'

export PATH=.:$PATH添加到路径中

以上内容将在当前目录中运行任何内容。如果您希望始终显示此内容,请将以上行添加到您的个人资料中。

请注意,对于某些shell,您可能需要运行两个命令:

PATH=.:$PATH
export PATH

答案 4 :(得分:0)

您可以将.添加到PATH中,以便shell执行当前工作目录中的任何内容。类似的东西:

export PATH=$PATH:.

在此之后,您可以通过键入

运行foo.sh程序
$ foo.sh