在 Ubuntu 上有没有比终端命令“./”执行程序的最佳方法

在 Ubuntu 上有没有比终端命令“./”执行程序的最佳方法

在 Ubuntu 上,有没有比终端命令“./”执行程序的最佳方法。

我已将 PhpStorm 放入一个文件夹中,当我想要执行 PhpStorm 时,我必须cd bin/使用以下命令执行:“./phpstorm.sh”。我认为这不是官方的、最好的方式。

答案1

./不是命令。它是一个目录(当前目录)。这仅意味着您运行一个文件./phpstorm.shphpstorm.sh当前目录中名为该文件的文件)。您编写的每个命令都会首先在$PATH环境变量中的所有目录中搜索。例如,这就是为什么ls可以工作并且您不必编写/bin/ls.写

echo "$PATH"

查看搜索了哪些目录。

/bin应该已经在您的 中PATH,因此phpstorm.sh无论您在哪个目录中,都应该始终有效(否./)。但是,如果您想从任何当前目录运行命令,则将.(当前目录)添加到现有路径。通常通过放置

export PATH=".:$PATH"

在你的.profile文件中。这不是默认的,但我总是这样做(如果您自己编写任何脚本或应用程序,总是直接指定当前目录是非常不方便的)。但是,不要为 root 执行此操作,它有点太强大了,您可能会错误地破坏某些东西。

另一个“特殊”目录是..指父目录。这就是为什么cd ..会“上升”。cd .不会做任何事情,因为你已经在那里了。

答案2

/usr/local/binLinux 上没有官方且最好的方法,但是您可以通过将脚本复制到 $PATH 中的目录(例如,如果该目录在您的路径中)来使您的生活更轻松(或者至少减少输入) 。用于echo $PATH查看 shell 搜索的目录列表以查找命令

如果脚本的编写方式假设其余文件相对于其本身存储的位置,则应添加以下行

cd <original_directory_where_the_script_was_located>

作为第一行之一(但至少在以 开头的第一行下方#!

如果没有调用(其他)可执行文件,phpstorm您甚至可以删除.sh并使用以下命令从任何地方启动程序:

phpstorm

从命令行。

相关内容