Tenho um script baixado da Internet, cujo começo se parece com isso:
echo "alias myip='curl -s https://api.ipify.org/'" >> ~/.bash_profile
echo "alias myiplookup='ip2cc \$(curl -s https://api.ipify.org/)'" >> ~/.bash_profile
Eu o uso em uma máquina macOS e, como esperado, ele cria um .bash_profile
arquivo no meu $HOME
diretório, com as linhas correspondentes:
alias myip='curl -s https://api.ipify.org/'
alias myiplookup='ip2cc $(curl -s https://api.ipify.org/)'
Há dois bashes nessa máquina:
- bash 3.2, fornecido com o próprio macOS
- bash 5.2, instalado usando Homebrew
Mas independentemente de qual desses ataques eu tente, quando eu digito myip
ou myiplookup
, eu recebo a command not found
mensagem.
Aqui está o que eu tentei, passo a passo:
- Inicie o aplicativo Terminal. Ele será aberto com uma sessão zsh.
- Digite
bash
(para bash 5.2) ou/bin/bash
(para bash 3.2) - Digite
myip
. bash mostra acommand not found
mensagem.
O que estou fazendo errado?
.bash_profile
é usado somente ao inicializar shells de login. Se você quiser que seu conteúdo seja interpretado, você precisa adicionar-l
às suasbash
invocações.Definições de alias geralmente vão em
.bashrc
which é usado para shells interativos. Veja Existe um arquivo equivalente ".bashrc" lido por todos os shells?