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.

chique
fonte
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.
jaypal singh
fonte
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.

Gui Yoshi
fonte
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.

jcollado
fonte
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.

user3613987
fonte
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!

ultimato
fonte
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.

kmikael
fonte
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

Pranav VR
fonte
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

SiegeX
fonte
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

wordsforthewise
fonte
3

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

ghoti
fonte
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
Pravin
fonte
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.

Nik Kov
fonte
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
Shirish Singh
fonte
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!

Kean Amaral
fonte