Então, o que estou tentando fazer é criar um bin
diretório pessoal na minha pasta pessoal. Eu criei a seguinte pasta:
/Users/thi/bin
Eu coloquei meus scripts nessa pasta, mas se eu digitar no Terminal:
myScript
Não corre.
Foi-me dito que eu tinha que exportar esse caminho da lixeira, algo relacionado a echo $PATH
, mas não sei como fazer isso.
Respostas:
Você precisa adicionar o seguinte ao arquivo
~/.profile
:Então
source ~/.profile
Observe que você pode precisar criar esse arquivo e, como começa com um
.
, pode não estar visível no localizador para edição através de um aplicativo como um editor de texto. Para listar todos os arquivos, incluindo os ocultos, use:fonte
$HOME/bin
vez de/Users/thi/bin
. Você poderá copiar suas configurações para outra máquina, onde seu nome de usuário talvez seja diferente..profile
arquivo.export PATH=$HOME/bin:$PATH
ao meu$HOME/.bash_profile
.Se você usar o bash, adicione uma linha como esta para
~/.bash_profile
:PATH
está marcado para exportação por padrão, então você não precisa usá-loexport
.Se ambos
~/.bash_profile
e~/.profile
exist, festa só lê~/.bash_profile
quando é invocado como um shell de login interativo.~/.profile
também é usado por outros shells que podem não entender as mesmas opções de configuração do bash.O Terminal e o iTerm 2 abrem novos shells como shells de login por padrão. Quando o bash é chamado como um shell de login interativo, ele lê,
~/.bash_profile
mas não~/.bashrc
. Os emuladores de terminal em outras plataformas geralmente abrem novos shells como shells sem logon, portanto, por exemplo, o bash lê,~/.bashrc
mas não~/.bash_profile
. Usuários OS X utilizam frequentemente~/.bash_profile
como o arquivo de configuração pessoal correspondente a~/.bashrc
em outras plataformas, mas também é comum a fonte~/.bashrc
de~/.bash_profile
ou para dizer Terminal ou iTerm 2 para abrir novas conchas como conchas não-login.Você também pode alterar o caminho mais globalmente em
/etc/paths
ou/etc/launchd.conf
, mas em muitos contextos o caminho ainda será o padrão/usr/bin:/bin:/usr/sbin:/sbin
. E eu realmente só precisei mudar o caminho em shells e editores de texto.fonte
export PATH=$HOME/bin:$PATH
ao meu$HOME/.bash_profile
.~
(quando não$HOME
estão entre aspas) e é expandido antes da atribuição de variável ao usar exportação ou uma atribuição simples..bash_profile
ou.profile
? Ou você tem um.bashrc
no seu diretório pessoal?. ~/.bashrc
. Novos shells são abertos como shells sem login no modo shell no emacs e no tmux. Eu não usaria .profile como meu principal arquivo de configuração, porque também é lido por outros shells como o ksh.Você normalmente colocaria caminhos adicionais depois do
$PATH
like,PATH=$PATH:/$HOME/bin
porque se você não quiser substituir outro executável com o mesmo nome que possa estar/bin
, etc.fonte
$HOME/bin
no início exatamente por esse motivo. Mas o principal é que a ordem dos diretórios seja$PATH
importante e que o shell escolha o primeiro comando correspondente. Obrigado por apontar isso.