我有一个 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
如果您想让该命令仅供您使用(如果您没有管理员权限,这是唯一的可能性),请在~/bin
(bin
您的主目录的子目录)中创建链接。
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 以便能够使用该软件。最好是先尝试一下它是否可以在没有扩展路径的情况下工作。