Varivável PATH sendo duplicado

1. Varivável PATH sendo duplicado

Alex Lima Pedrozo
alp0091

(usa openSUSE)

Enviado em 27/04/2018 - 16:05h

Olá!

Primeiramente peço mil desculpas se violei alguma regra e se postei no lugar certo sem tempo para ler as regras e estudar a estrutura do fórum como todo, sou novo aqui no fórum. Quando eu tiver mais tempo eu faço isso.

Prosseguindo... Sou novo neste maravilhoso mundo do Linux e eu quero adicionar o diretório onde está os meus scripts de rotinas na variável PATH, porém quando faço as edições nos arquivos bash e profile como os tutoriais espalhados pelo Google orientam ele duplica meu PATH

Vejamos:

Toda que se faz: "export PATH=$PATH:/meu/caminho/meus/scripts" ele já duplicar por que ele tá pegando o conteúdo da PATH com o $PATH

se eu der o export novamente vai ficar o PATH gigante.

Ao colocar "export PATH=$PATH:/home/alp_ti0/meus_scripts" no o /etc/profile, funciona só que se eu tentar executar os meus scripts como usuário root não, pois tem uma PATH diferenciada do usuário comum conforme explicado no link abaixo, além de duplicar a variável PATH.

https://sempreupdate.com.br/comando-su-o-que-e-para-que-serve-confira-alguns-exemplos-e-use-mais-o-c...

Quero que o root tenha o mesmo valor do PATH do usuário comum.

Outro grande problema é que meus scripts estão organizados em pasta e subpastas e o sistema só ler a raíz do diretório e não os outros scripts que estão nos subdiretórios.

Resumindo:

Problema 1: Fazer a variável PATH ser ser igual para todos os usuário dos sistema inclusive o root

Problema 2: Minha Variável PATH não pode duplicar

Problema 3: Meu Sistema não ler os scripts dos subdiretórios que estão meus scripts
Meu sistema é OpenSuse Tumbleweed


  


2. Re: Varivável PATH sendo duplicado

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 27/04/2018 - 19:19h

nao sei se eu entendi sua duplicacao de path, mas saida do seu comando

$ echo $PATH 


e como root?


$ sudo equo $PATH


pq pelo que vi, com seu comando ela vai duplicar mesmo. esse comando adiciona o caminho ao caminho ja existente. N'ao e o que vc quer?

https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path?utm_medium=organi...

https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix?utm_medium=or...

http://www.troubleshooters.com/linux/prepostpath.htm

quanto a seus scripts, eles precisam ser executados como root? Nao chequei isso no meu linux (aqui nao da estou num live DVD), mas no geral, acho o PATH do usuario pode ser diferente daquele do root

Observe aqui, mesmo no live CD que estou usando (nao posso sair, pq estou regenerando um pendrive com comando dd), o PATH do user e um e do root e outro


sabayonuser@sabayon ~ $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/6.4.0:/usr/lib/llvm/5/bin
sabayonuser@sabayon ~ $ sudo su
sabayon /home/sabayonuser # echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.


3. Re: Varivável PATH sendo duplicado

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 27/04/2018 - 19:37h

outra coisa , vc pode executar os comandos sem mudar o PATH padrao... vc pode abrir o terminal na pasta que estao os scripts ex.

suponha seus scripts estejam em /home/usuario/scripts, vc pode fazer assim


$ cd /
$ cd home/usuario/scripts
$ ./meu_script.sh OU sh meu_script.sh


ou ainda sem entrar na pasta


$ home/usuario/scripts/./meu_script.sh


a nao ser que seus scripts tenha dentro comandos que nao estao rodando, pq estao fora do path. nesse caso, pq nao trocar o path no script?

https://stackoverflow.com/questions/41358018/how-to-set-path-only-in-bash-script-temporarily?utm_med...

tanbem vc pode mudar o path no arquivo /home/usuario/.bash_profile ou no seu /home/usuario/.bashrc

https://askubuntu.com/questions/60218/how-to-add-a-directory-to-the-path
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.


4. Inviavél a sua solução.

Alex Lima Pedrozo
alp0091

(usa openSUSE)

Enviado em 27/04/2018 - 20:08h

Justamente para evitar de ter que digitar todo o caminho de meus scripts é que preciso alterar o PATH. Portanto a sua solução é o problema que quero evitar.


5. Explicando o meu problema de forma mais resumida e clara

Alex Lima Pedrozo
alp0091

(usa openSUSE)

Enviado em 27/04/2018 - 20:10h

albfneto escreveu:

nao sei se eu entendi sua duplicacao de path, mas saida do seu comando

$ echo $PATH 


e como root?


$ sudo equo $PATH


pq pelo que vi, com seu comando ela vai duplicar mesmo. esse comando adiciona o caminho ao caminho ja existente. N'ao e o que vc quer?

https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path?utm_medium=organi...

https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix?utm_medium=or...

http://www.troubleshooters.com/linux/prepostpath.htm

quanto a seus scripts, eles precisam ser executados como root? Nao chequei isso no meu linux (aqui nao da estou num live DVD), mas no geral, acho o PATH do usuario pode ser diferente daquele do root

Observe aqui, mesmo no live CD que estou usando (nao posso sair, pq estou regenerando um pendrive com comando dd), o PATH do user e um e do root e outro


sabayonuser@sabayon ~ $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/6.4.0:/usr/lib/llvm/5/bin
sabayonuser@sabayon ~ $ sudo su
sabayon /home/sabayonuser # echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.


usuário comum

PATH=/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin

usuário root com su -

/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin

usuário root su

/sbin:/bin:/usr/sbin:/usr/bin

O que quero é que todos eles sejam iguais e que quando eu adicionar um novo diretório em qualquer um deles seja feita a todos e não só ao usuário comum e que todos sejam iguais ao root su - e que não duplique


6. Fora de concitação editar os arquivos bash

Alex Lima Pedrozo
alp0091

(usa openSUSE)

Enviado em 27/04/2018 - 20:14h

albfneto escreveu:

outra coisa , vc pode executar os comandos sem mudar o PATH padrao... vc pode abrir o terminal na pasta que estao os scripts ex.

suponha seus scripts estejam em /home/usuario/scripts, vc pode fazer assim


$ cd /
$ cd home/usuario/scripts
$ ./meu_script.sh OU sh meu_script.sh


ou ainda sem entrar na pasta


$ home/usuario/scripts/./meu_script.sh


a nao ser que seus scripts tenha dentro comandos que nao estao rodando, pq estao fora do path. nesse caso, pq nao trocar o path no script?

https://stackoverflow.com/questions/41358018/how-to-set-path-only-in-bash-script-temporarily?utm_med...

tanbem vc pode mudar o path no arquivo /home/usuario/.bash_profile ou no seu /home/usuario/.bashrc

https://askubuntu.com/questions/60218/how-to-add-a-directory-to-the-path
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.


Inviável a edição dos bash pois toda vez que se abrir o terminal ele é executado e não quero ficar mexendo no PATH toda vez que abro o terminal






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts