如何使用 ln -s 创建命令行快捷方式?

如何使用 ln -s 创建命令行快捷方式?

我有一个 sh 文件,我希望能够随时从终端打开它。我想在终端中输入“studio”,并打开 android studio

我记得曾经ln -s这样做过,但我忘记了并且已经浪费了很多时间在网上搜索。

另外,创建的符号链接保存在哪个目录中?

这是我努力的语法,找不到命令

ricardo@debian:~$ ln -s /opt/android-studio/bin/studio.sh studio
ricardo@debian:~$ studio
bash: studio: command not found

答案1

您运行的命令在当前目录中创建了一个符号链接。从提示来看,当前目录就是你的主目录。在主目录中创建指向可执行程序的符号链接并不是特别有用。

当您键入程序名称时,shell 会在列出的目录中查找它PATH环境变量。要查看此变量的值,请运行echo $PATH。目录由冒号 ( :) 分隔。典型的路径是,/home/ricardo/bin:/usr/local/bin:/usr/bin:/bin但也有很多变化。

您需要在 中列出的目录之一中创建此符号链接$PATH。如果您想让所有用户都可以使用该命令,请在以下位置创建链接/usr/local/bin

sudo ln -s /opt/android-studio/bin/studio.sh /usr/local/bin/studio

如果您想让该命令仅供您使用(如果您没有管理员权限,这是唯一的可能性),请在~/binbin您的主目录的子目录)中创建链接。

ln -s /opt/android-studio/bin/studio.sh ~/bin/studio

如果您的发行版没有放入/home/ricardo/bin您的PATH/home/ricardo您的主目录在哪里),请首先使用 创建它,然后通过添加以下行将mkdir ~/bin其添加到您的(如果文件不存在,则创建该文件):PATH~/.profile

PATH=~/bin:$PATH

.profile文件在您登录时被读取。您可以通过运行在当前终端中读取该文件. ~/.profile(这只适用于从该终端启动的程序)。

答案2

实现你的愿望最直观的方法就是使用别名。类型:

alias studio=/opt/android-studio/bin/studio.sh

或者在 .profile 或更好的文件中输入相关别名:您的 shell 使用 $ENV。

请注意,您可能仍然需要添加

/opt/android-studio/bin

添加到您的 PATH 以便能够使用该软件。最好是先尝试一下它是否可以在没有扩展路径的情况下工作。

相关内容