Criando vários aliases temporários

9

Não sou usuário root e não tenho acesso ao arquivo de alias global que possui todos os aliases criados, mas quero criar alguns aliases que permaneçam ativos apenas para a sessão em que estou conectado. Uso o comando alias x='cd /parent/child'para criar um alias que me permitirá digitar xno console e eu mudo o diretório para / Parent / Child.

No entanto, quero criar vários aliases e não quero digitar todos os alias criados sempre.

Tentei colocar todas as linhas de alias = 'faça isso' em um arquivo (com permissão 777), esperando que, ao executar o arquivo, todos esses aliases fossem criados toda vez que eu logar. Mas isso não aconteceu.

ex:

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

Eu também tentei isso no arquivo, mas em vão:

alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log'

Nenhum dos nomes alternativos que tentei já estava presente no alias global. (Digitei o pseudônimo e vi a saída na tela).

Web Nash
fonte
Você pode colocar todos os seus aliases em .bashrcarquivo.
precisa saber é
@Web Nash: Mas se você quer passar argumentos diferentes para diferentes comandos, então isso não vai funcionar
Thushi

Respostas:

12

gere todo o alias da sua sessão em um arquivo, por exemplo, alias.txt

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

então use

 . ./alias.txt

Você deve ter todo o seu alias na lista de alias, para esta única sessão.

Editar:

Certifique-se de usar

. ./alias.txt

não

./alias.txt

No primeiro caso, o conteúdo é lido 'como se fosse digitado', enquanto o último caso define o alias em um shell que será encerrado.

Archemar
fonte
Fiz uma coisa semelhante inicialmente antes de postar esta pergunta. Em vez de um arquivo de texto, apenas coloquei essas linhas em um arquivo sem nenhuma extensão e que não funcionou. Mas mesmo quando eu tentei com uma extensão .txt não funcionou
Web Nash
Isso funcionou perfeitamente. Muito obrigado. Não entendi a diferença entre usar esses três formulários 1) alias.txt 2) ./alias.txt 3). ./alias.txt
Web Nash
os formulários 1) e 2) são equivalentes se. está no seu $ PATH. Se você chamar um novo shell, execute o comando. Na maioria dos casos, isso é bom; no entanto, se você quiser um alias ou função, a definição desaparecerá quando o shell sair.
Archemar 7/08/14