Eu tenho isso como a última linha no meu .profile:
alias gl="cd /home/jrenner/glances/glances"
No entanto, mesmo após a reinicialização, recebo o comando não encontrado ao digitar gl. O que está acontecendo? Estou logado como o usuário correto.
command-line
bash
alias
.profile
Talloaktrees
fonte
fonte
gl
? O terminal? A GUI?.profile
não funcionam em nenhum contexto que tentei: logons de console de texto, terminais gráficos ou qualquer outra coisa, mesmo que as variáveis ambientais do mesmo arquivo funcionem.Respostas:
Tenho certeza de que a ideia de lpanebr funcionará, mas aqui está uma solução mais elegante. Faça o comando aliás em
.bashrc
É assim que eu faço, ou algumas pessoas preferem adicionar um arquivo dedicado ao alias. Ligue.alias
ou faça o que quiser e adicione.alias
ao seu.bashrc
Gostaria de poder formatar como @lpanelbr. Gostaria de saber se existe um wiki?
fonte
.bashrc
funciona enquanto.profile
não? Além disso, qualquer motivo pelo qual você escolheu nomear o arquivo de alias em.allias
vez de.alias
?Há dois motivos relacionados pelos quais os aliases nem sempre funcionam quando inseridos no
.profile
arquivo. A primeira é que o arquivo.profile
(ou.bash_profile
) é executado apenas para um shell de logon. Se você está iniciando o bash em uma janela de terminal no X, seu emulador de terminal (por exemplo, gnome-termanl) provavelmente não está executando o bash como um shell de login. [A maioria tem uma opção para alterar isso, se você quiser, mas o padrão (para o gnome-termal de qualquer maneira) não é executá-lo como um shell de login.]O shell será um shell interativo e, portanto
.bashrc
, será executado.No entanto, normalmente o bash foi executado como um shell de login quando a sessão X estava sendo iniciada. Portanto, se houver comandos alternativos,
.profile
eles serão executados juntamente com a definição de variáveis de ambiente como PATH etc. Quando uma janela do terminal é aberta, uma nova instância do bash é executada para solicitar e executar comandos nessa janela do terminal. Diferentemente das variáveis de ambiente, os aliases não podem ser exportados de uma instância do bash para uma nova iniciada por ela. Portanto, os aliases não são transmitidos para o novo shell.Para ver isso, tente este experimento:
Observe que
.bashrc
não é executado pelo bash quando é iniciado como um shell de logon. Portanto, colocar seus apelidos ali nem sempre funcionará, a menos que você.bashrc
seja originário do seu.profile
, o que é uma prática muito comum.fonte
source .bashrc
em.bash_profile
permitido o conjunto alias no bashrc ao trabalho.~/.bash_aliases
. Essa é a maneira certa de fazer isso. (leia o arquivo .bashrc para obter detalhes).Se você estiver usando o bash (
echo $SHELL
) como intérprete de shell, acho melhor (ou talvez a única maneira) se você definir sua própria função de CD.Edite seu
.bashrc
arquivo e adicione o seguinte no final:Você também pode estendê-lo da seguinte maneira:
e mude diretamente para um subdiretório e liste seu conteúdo.
fonte
alias
diretiva colocada no.profile
arquivo falha.Este foi um problema com o meu servidor. Simples
source .profile
não funcionou por algum motivofonte
A maneira correta de fazer isso no Ubuntu é adicionar o seu alias ao
~/.bash_aliases
. Crie o arquivo se ele não existir.Esse arquivo (se presente) é chamado a partir do padrão
~/.bashrc
e o alias também estará disponível nos emuladores de terminal.fonte