在 Ubuntu 上,有没有比终端命令“./”执行程序的最佳方法。
我已将 PhpStorm 放入一个文件夹中,当我想要执行 PhpStorm 时,我必须cd bin/
使用以下命令执行:“./phpstorm.sh”。我认为这不是官方的、最好的方式。
答案1
./
不是命令。它是一个目录(当前目录)。这仅意味着您运行一个文件./phpstorm.sh
(phpstorm.sh
当前目录中名为该文件的文件)。您编写的每个命令都会首先在$PATH
环境变量中的所有目录中搜索。例如,这就是为什么ls
可以工作并且您不必编写/bin/ls
.写
echo "$PATH"
查看搜索了哪些目录。
/bin
应该已经在您的 中PATH
,因此phpstorm.sh
无论您在哪个目录中,都应该始终有效(否./
)。但是,如果您想从任何当前目录运行命令,则将.
(当前目录)添加到现有路径。通常通过放置
export PATH=".:$PATH"
在你的.profile
文件中。这不是默认的,但我总是这样做(如果您自己编写任何脚本或应用程序,总是直接指定当前目录是非常不方便的)。但是,不要为 root 执行此操作,它有点太强大了,您可能会错误地破坏某些东西。
另一个“特殊”目录是..
指父目录。这就是为什么cd ..
会“上升”。cd .
不会做任何事情,因为你已经在那里了。
答案2
/usr/local/bin
Linux 上没有官方且最好的方法,但是您可以通过将脚本复制到 $PATH 中的目录(例如,如果该目录在您的路径中)来使您的生活更轻松(或者至少减少输入) 。用于echo $PATH
查看 shell 搜索的目录列表以查找命令
如果脚本的编写方式假设其余文件相对于其本身存储的位置,则应添加以下行
cd <original_directory_where_the_script_was_located>
作为第一行之一(但至少在以 开头的第一行下方#!
)
如果没有调用(其他)可执行文件,phpstorm
您甚至可以删除.sh
并使用以下命令从任何地方启动程序:
phpstorm
从命令行。