[Duvida] Terminal

Fork

What is folding?
Boas

Eu ando a tentar adicionar uma directoria a $PATH, para tal corro o seguinte comando:

Código:
PATH=$PATH:/(o directorio aqui)

E funciona, até aqui muito bem, mas se fizer quit do Terminal e voltar a abrir a $PATH volta a ficar como estava.

Tá me a faltar algo?

Agradeço ajuda
 
Boas

Eu ando a tentar adicionar uma directoria a $PATH, para tal corro o seguinte comando:

Código:
PATH=$PATH:/(o directorio aqui)

E funciona, até aqui muito bem, mas se fizer quit do Terminal e voltar a abrir a $PATH volta a ficar como estava.

Tá me a faltar algo?

Agradeço ajuda

de uma forma resumida deves assegurar que esse comando é executado sempre que abres o Terminal (isto é, abres uma shell). Em unixes, e dependendo da shell, podes adicionar comandos a ficheiros como o .bashrc, .profile, etc, que existem na tua home.

Experimenta abrir um Terminal e fazer > more .profile

Este ficheiro (que é uma shell script) é executado sempre que "abres um Terminal" e é nele que deves meter o comando para adicionar novos caminhos à "PATH".

por exemplo, eis o que se usa para adicionar a /usr/local/bin à PATH.

Código:
echo $PATH | grep -q -s "/usr/local/bin"
if [ $? -eq 1 ] ; then
    PATH=$PATH:/usr/local/bin
    export PATH
fi

Este exemplo parece menos simples porque é feito com elegância mas podes simplesmente fazer as coisas acrescentando ao ficheiro ~/.profile :

Código:
export PATH=$PATH:/(o directorio aqui)


Também podes usar o ficheiro .bashrc para o mesmo efeito pois é executado sempre que abres uma shell "bash" inteactiva, o mais comum no OSX.

Há medida que vais ficar "especialista" em unix a tua .bashrc (.profile) pode tornar-se gigantesca e complexa.
Vê um exemplo aqui:

http://tldp.org/LDP/abs/html/sample-bashrc.html

Por exemplo, experimenta usar o comando "alias" para criares abreviaturas de comandos mais complexos tipo:

alias dir='ls -l'
 
Última edição:
nao me apareçe nenhum .profile na minha home tou a usar o comando ls -a.

resposta ao comando more .profile, no such file or directory found, ou qq coisa do genero

Sei que isto é unix basico mas eu pouco sei de scripts.

onde se encontra o ficheiro .bashrc?

Depois de resolver isto podes me indicar um bom tutorial de scripting?
 
Se não há o .profile podes criar um teu com a configuração que o Ajax deu como exemplo.
Não te metas já na bashrc gigantesca, vai com calma.
 
Ok ja adicionei o que queria

Como eram 2 directorios usei o codigo do ajax 2 vezes, funciona, voçes recomendam outra maneira de o ter?

E sera que me podem indicar um bom tutorial em scripts unix? Queria aprender um bocado disso.

Obrigado pela ajuda
 
eu normalmente adiciona as linhas que quero correr ao ficheiro '/etc/profile' se quiser que as alterações sejam válidas para todos os utilizadores ou ao ficheiro '~/.bash_profile' se quiser que apenas sejam válidas para mim...
 
Mais uma duvida

posso usar um alias do estiilo:

alias ls = ls -G (acho que era esta a flag que foça as cores)

ou vai entrar em choque devido a usar o propio ls?
 
Mais uma duvida

posso usar um alias do estiilo:

alias ls = ls -G (acho que era esta a flag que foça as cores)

ou vai entrar em choque devido a usar o propio ls?

não vai entrar em choque.
quando executares esse comando, como ele aparece logo no '~/.bash_profile' (ou outro ficheiro semelhante) o Terminal nem chega a procurá-lo na PATH, ou seja, nem sabe que existe outro 'ls'...

P.S. penso que precisas de colocar aspas em volta do comando.
 
Back
Topo