Eu tenho um script:
#!/bin/bash
echo "$(dirname $(readlink -e $1))/$(basename $1)"
que fica aqui: /home/myuser/bin/abspath.sh
que possui permissões de execução.
Se eu executar echo $PATH
, recebo o seguinte:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myuser/bin
Desejo poder, de qualquer diretório, ligar abspath <some_path_here>
e chamar meu script. Estou usando o bash, o que estou fazendo de errado?
linux
shell
shell-scripting
guepardo
fonte
fonte
cd $HOME/bin ; ln -s abspath.sh abspath
. Isso permite que você mantenha a extensão correta do script e tenha uma ferramenta com o nome que desejar. (Você poderia, de alguma futur, substituir o seu script shell por um script python, por exemplo ...)Este código é pequeno o suficiente para codificá-lo como uma função shell:
E sim, você quer todas essas citações.
fonte
defina um alias adicionando seu comando no arquivo .bashrc.
E não se esqueça de obter o arquivo.
fonte
Renomearia seu script bash para
abspath
depois movê-lo para obin
diretório Você poderá ligarabspath
de qualquer lugarfonte
Uma terceira opção é criar um alias chamado abspath que aponte para o script abspath.sh.
fonte