Como usar ln -s para criar um atalho de linha de comando?

8

Eu tenho um arquivo sh que eu gostaria de poder abrir do terminal a qualquer momento. Eu gostaria de digitar "studio" no terminal e ter o android studio aberto

Lembro-me de usar ln -s para fazer isso, mas esqueci e já perdi muito tempo pesquisando na Web.

Além disso, em que diretório o link simbólico criado é mantido?

Aqui está a sintaxe do meu esforço, comando não encontrado

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

2 respostas

8

O comando que você executou criou um link simbólico no diretório atual. A julgar pelo prompt, o diretório atual é o seu diretório inicial. Criar links simbólicos para programas executáveis em seu diretório inicial não é particularmente útil.

Quando você digita o nome de um programa, o shell procura nos diretórios listados na Variável de ambiente PATH . Para ver o valor dessa variável, execute echo $PATH . Os diretórios são separados por dois pontos ( : ). Um caminho típico é /home/ricardo/bin:/usr/local/bin:/usr/bin:/bin , mas há muita variação por aí.

Você precisa criar este link simbólico em um dos diretórios listados em $PATH . Se você quiser disponibilizar o comando para todos os usuários, crie o link em /usr/local/bin :

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

Se você quiser disponibilizar o comando somente para você (que é a única possibilidade se você não tiver privilégios de administrador), crie o link em ~/bin (o subdiretório bin do seu diretório pessoal). / p>

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

Se a sua distribuição não colocar /home/ricardo/bin no seu PATH (onde /home/ricardo é o seu diretório inicial), crie-o primeiro com mkdir ~/bin e adicione-o ao seu PATH adicionando a seguinte linha para ~/.profile (crie o arquivo se ele não existir):

PATH=~/bin:$PATH

O arquivo .profile é lido quando você efetua login. Você pode lê-lo no terminal atual executando . ~/.profile (isso se aplica somente a programas iniciados a partir desse terminal).

    
por 29.08.2015 / 21:26
0

A maneira mais intuitiva de implementar seu desejo é usar um alias. Tipo:

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

ou insira um alias relacionado em .profile ou melhor: o que seu shell usa como $ ENV.

Note que você ainda pode precisar adicionar

/opt/android-studio/bin

ao seu PATH para poder usar o software. O melhor é primeiro testar se funciona sem um PATH estendido.

    
por 30.08.2015 / 19:00