Como crio um alias do Bash?


189

Estou no OSX e preciso colocar algo assim, alias blah="/usr/bin/blah"em um arquivo de configuração, mas não sei onde está o arquivo de configuração.


Tangencialmente, esse alias específico é basicamente redundante, a menos que você esteja especificamente tentando substituir a PATHresolução do shell para esse comando específico. Se /usr/binestá na sua PATH(que realmente deve ser), então blahserá executado de lá muito bem sem esse alias, também, a menos que há também dizem /usr/local/bin/blahe /usr/local/biné antes /usr/binem sua PATH , mas você ainda quer preferem /usr/bin/blahe não pode, por algum motivo, simplesmente remover ou renomear /usr/local/bin/blah.
— tripleee

Mesmo assim, essa é uma solução duvidosa e idiota, que deve vir com um grande e feio comentário feio com uma mensagem de aviso dizendo como isso vai morder o seu abdômen bem torneado e outro dizendo "eu te disse" para cada vez que isso aconteceu.
— Tripleee

1
Para todos os amantes da automação: eu adiciono pessoalmente addAlias() { echo "alias $1='$2' " >> ~/.bash_profile ao meu bash_profile e, em seguida, o origino e corro addAlias hi 'echo "hi" '. Fonte perfil bash e digite hipara vê-lo.
— Devssh

Respostas:


268

Você pode adicionar um aliasou um functionno seu arquivo de script de inicialização. Normalmente, isso é .bashrc, .bash_loginou .profilearquivo em seu diretório home.

Como esses arquivos estão ocultos, você terá que fazer um ls -apara listá-los. Se você não tiver um, poderá criar um.


Se bem me lembro, quando comprei meu Mac, o .bash_loginarquivo não estava lá. Eu tive que criá-lo para mim para que eu pudesse colocar prompt info, alias, functions, etc. nele.

Aqui estão as etapas se você deseja criar uma:

  1. Terminal de inicialização
  2. Digite cd ~/para ir para sua pasta pessoal
  3. Digite touch .bash_profilepara criar seu novo arquivo.
  4. Edite .bash_profilecom seu editor favorito (ou você pode simplesmente digitar open -e .bash_profilepara abri-lo no TextEdit.
  5. Digite . .bash_profilepara recarregar .bash_profilee atualizar qualquer alias adicionado.

8
Incrível, obrigado @jaypal! O comando é source .bash_profileuma alternativa à etapa 5?
— precisa saber é o seguinte

10
Sim, no meu OSX Mavericks, não havia .bash_profileno meu diretório de casa. Criando-o, adicionando o alias a ele e iniciando-o com o . .bash_profilecomando funcionou.
— Bradley Flood

1
.bash_profile funciona para mim! :) .bashrc não fez no El Capitan
— Parth

5
No OSX, o El Capitan .bash_profilefunciona. Se ele não carregar automaticamente quando você abre uma janela de terminal, provavelmente é porque foi criada sem permissão executável. Este comando irá corrigi-lo e deverá ser carregado automaticamente para sessões futuras:chmod u+x .bash_profile
— Mischinab 5/16

1
perfil Bash_profile está bloqueado como posso atualizar esse arquivo
— Amit Gupta


31

Eu apenas abro o zshrc com sublime e edito.

subl .zshrc

E adicione isso no sublime:

alias blah="/usr/bin/blah"

Execute isso no terminal:

source ~/.bashrc

Feito.


4
Isso está confuso. Se o seu shell for Bash, muitas outras respostas nesta página serão mais detalhadas e úteis. Se você usar o Zsh em vez do Bash, obviamente deverá source .zshrcno final carregar as alterações feitas na instância do shell em execução no momento.
— tripleee

18

No meu .bashrcarquivo, as seguintes linhas estavam lá por padrão:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Portanto, na minha plataforma .bash_aliasesestá o arquivo usado para aliases por padrão (e o que eu uso). Não sou usuário do OS X, mas acho que se você abrir o .bashrcarquivo, poderá identificar qual é o arquivo comumente usado para aliases na sua plataforma.


Se o perfil não carregar automaticamente quando você abrir uma janela do terminal, provavelmente está faltando a permissão executável. Este comando irá corrigi-lo e deverá ser carregado automaticamente para sessões futuras:chmod u+x .bash_profile
— Mischinab 5/16

1
@Mischinab Não, o arquivo só precisa ser legível para que o Bash o leia como seu arquivo de configuração. Tornar executável é tecnicamente inofensivo, mas desnecessário. Eu o desencorajaria por motivos não técnicos (você pode acabar confundindo a si mesmo e / ou outras pessoas).
— tripleee

9
cd /etc
sudo vi bashrc

Adicione o seguinte, como:

alias ll="ls -lrt"

Finalmente reinicie o Terminal.


1
Depois de adicionar o alias. Execute 'source' no seu arquivo '.bash_profile'. Ex: source ~ / .bash_profile (comando que ativa recargas / aliases bash)
— UIResponder

8

Funciona para mim no macOS Majave

Você pode executar alguns passos simples:

1) terminal aberto

2) sudo nano /.bash_profile

3) adicione seus aliases, como exemplo:

# some aliases
alias ll='ls -alF'
alias la='ls -A'
alias eb="sudo nano ~/.bash_profile && source ~/.bash_profile"
#docker aliases
alias d='docker'
alias dc='docker-compose'
alias dnax="docker rm $(docker ps -aq)"
#git aliases
alias g='git'
alias new="git checkout -b"
alias last="git log -2"
alias gg='git status'
alias lg="git log --pretty=format:'%h was %an, %ar, message: %s' --graph"
alias nah="git reset --hard && git clean -df"
alias squash="git rebase -i HEAD~2"

4) source /.bash_profile

Feito. Use e divirta-se!


7

O arquivo de configuração para scripts e programas é ~/.bashrce o arquivo de configuração que é carregado quando você usa o Terminal ~/.bash_login.

Eu acho que a melhor maneira é apenas para ter tudo em ~/.bashrc.

Para sua pergunta específica, basta digitar (isso substituirá qualquer ~ / .bashrc existente):

echo "alias blah=\"/usr/bin/blah\"" >>~/.bashrc

no Terminal e um ~/.bashrcarquivo será criado com seus novos alises. Depois disso, basta editar o arquivo para adicionar novos aliases, funções, configurações etc.


5
Você não deveria usá-lo em >>vez de >anexá-lo ao arquivo, em vez de substituir tudo nele?
— 9137 Jonny

6
  1. Vá para casa
  2. Abra .bashrc
  3. Crie um alias na parte inferior do arquivo

    alias alias_name='command to do'
    eg: alias cdDesktop='cd /Desktop'
  4. Salve o arquivo

  5. source .bashrc

    source ~/.bashrc
  6. Abra o terminal (Ctrl + Alt + T) e digite cdDesktop e pressione enter


4

Se você colocar o blah="/usr/bin/blah"seu ~/.bashrc, poderá usar $blahno seu shell de login como um substituto para a digitação/usr/bin/blah


O cifrão não é enfaticamente necessário, útil ou correto aqui.
— tripleee

4

MacOS Catalina e superior

A Apple acabou de mudar seu shell padrão para zsh , então os arquivos de configuração incluem ~/.zshenve ~/.zshrc. É assim ~/.bashrc, mas para o zsh. Apenas edite o arquivo e adicione o que você precisa; ele deve ser obtido toda vez que você abre uma nova janela do terminal:

nano ~/.zshenv alias py=python

Em seguida, pressione Ctrl + x, Y e digite para salvar.

Esse arquivo parece ser executado independentemente do que seja (logon, não logon ou script); portanto, parece melhor que o ~/.zshrcarquivo.

High Sierra e mais cedo

O shell padrão é bash, e você pode editar o arquivo ~/.bash_profilee adicionar aliases:

nano ~/.bash_profile alias py=python

Em seguida, pressione Ctrl + x, Y e digite para salvar. Veja este post para mais informações sobre essas configurações. É um pouco melhor configurá-lo com o seu alias ~/.bashrc, em seguida, fonte ~/.bashrcde ~/.bash_profile. Nesse caso ~/.bash_profile, seria semelhante a:

source ~/.bashrc


3

Você provavelmente deseja editar o .bashrcarquivo no seu diretório pessoal.


1

crie um perfil de bash na raiz do usuário - ex

/user/username/.bash_profile

abrir arquivo

vim ~ / .bash_profile

adicione o alias como ex. (salvar e sair)

alias mydir="cd ~/Documents/dirname/anotherdir"

no novo terminal, basta digitar mydir - ele deve abrir

/user/username/Documents/dirname/anotherdir

0

Eu acho que é o caminho certo:

1) Vá para o Teminal. open ~/.bashrc. Adicione se não existir

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

2) open ~/.bash_aliases. Se não existir:touch ~/.bash_aliases && open ~/.bash_aliases

3) Para adicionar um novo apelido
- edite o .bash_aliasesarquivo e reinicie o terminal ou imprima source ~/.bash_aliases
- imprima echo "alias clr='clear'" >> ~/.bash_aliases && source ~/.bash_aliasesonde está o seu apelido alias clr='clear'.

4) Adicione linha source ~/.bash_aliasesao ~/.bash_profilearquivo. Ele precisa carregar aliases em cada init do terminal.


0

Para usuários do macOS Catalina:

Etapa 1: criar ou atualizar o arquivo .zshrc

vi ~/.zshrc

Etapa 2: adicione sua linha de alias

alias blah="/usr/bin/blah"

Etapa 3: Origem .zshrc

source ~/.zshrc 

Etapa 4: verifique seu alias, digitando alias no prompt de comando

alias

0

Para criar um atalho de alias permanente, coloque-o no arquivo .bash_profile e aponte o arquivo .bashrc para o arquivo .bash_profile. Siga estas etapas (estou criando um comando alternativo chamado bnode para executar o transpiler babel no código ES6):

  1. Vá para o prompt de comando do terminal e digite "cd" (isso o levará ao diretório inicial. Nota: mesmo que seus arquivos de programação possam estar localizados em sua "unidade D:", seus arquivos ".bash" podem estar localizados em seu " C: drive ")
  2. Para ver a localização do diretório inicial, digite "pwd" (isso mostrará o caminho do diretório inicial e onde os arquivos .bash provavelmente estão localizados)
  3. Para ver todos os pontos "." arquivos no diretório inicial, digite "ls -la" (isso mostrará TODOS os arquivos, incluindo os arquivos de ponto "." oculto)
  4. Você verá 2 arquivos: ".bash_profile" e ".bashrc"
  5. Abra o arquivo .bashrc no VS Code Editor ou no seu IDE e digite "source ~ / .bash_profile" na primeira linha (para apontar o arquivo .bashrc para .bash_profile)
  6. Abra o arquivo .bash_profile no VS Code Editor e digite "alias bnode = '. / Node_modules / .bin / babel-node'" (para criar um atalho permanente do bnode para executar como comando bash)
  7. Salve e feche os dois arquivos
  8. Agora abra o arquivo que você deseja executar (index.js) e abra no prompt de comando do terminal e execute o arquivo usando o comando “bnode index.js”
  9. Agora, seu arquivo index.js será executado, mas antes de criar o alias bnode no arquivo .bash_profile, você receberá o erro "comando bash: bnode não encontrado" e não reconhecerá e não fornecerá erros em algum código ES6.
  10. Link útil para aprender sobre os dotfiles: https://dotfiles.github.io/

Eu espero que isso ajude! Boa sorte!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.