seria possivel? [RESOLVIDO]

1. seria possivel? [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 29/03/2016 - 17:10h

boa tarde, boa noite, bom dia...
minha duvida é a seguine...
é possivel criar um programa, compilar e chamar ele no terminal normalmente, como se foce um programa do proprio sistema?
sem usar ./
apenas pelo nome...
possivel isso?
agradeço desde ja!


  


2. MELHOR RESPOSTA

Matth
MattF

(usa Slackware)

Enviado em 29/03/2016 - 17:29h

lipman escreveu:

boa tarde, boa noite, bom dia...
minha duvida é a seguine...
é possivel criar um programa, compilar e chamar ele no terminal normalmente, como se foce um programa do proprio sistema?
sem usar ./
apenas pelo nome...
possivel isso?
agradeço desde ja!


Pode sim e é muito simples, basta que o programa esteja em um diretório definido na variável PATH. Na maioria dos sistemas essa variável contém /bin ; /usr/bin, então, se quiser fazer um teste, mova seu programa para /usr/bin e dê permissões de execução a ele (como root). Agora você pode chamá-lo pelo nome. Não use o nome de algo que já exista lá.

Você também pode criar a sua própria pasta bin, se deseja usar vários programas, dentro de sua própria home, caso não tiver privilégios de superusuário. Basta criar a pasta e editar a sua profile que geralmente está na sua home com o nome .bashrc. De qualquer forma pode olhar no arquivo .profile o nome certo. Dentro desse arquivo coloque o comando:
export PATH=$PATH:$HOME/bin


Outra maneira até melhor de se fazer isso é na própria .profile, colocar isso aqui no final:

if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi


Se isso já não existir lá. Você pode mudar o nome para outra coisa além e bin, note que isso simplesmente checa se existe um diretório bin dentro da home no usuário e adiciona-a ao PATH caso exista. Se já existir algo assim dentro de sua profile basta criar o diretório bin na sua home ou editar como quiser.

3. Re: seria possivel?

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/03/2016 - 17:49h

Como foi falado, sim.

Mas pense no caso de algo criar um programa chamado ls, que por um acaso está dentro de seu $HOME.
Pelo menos foi uma citação que li.

Na verdade isto funcionaria se do mesmo modo que apareceu esse ls, algo possa mudar esse $PATH.
Mas desta mesma forma, como mudar o $PATH se a instância da variável está abaixo da de antes do processo ser iniciado?
Só se um possível script além de alterar $PATH crie e chame um falso ls em $HOME.

Não vejo muito sentido.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



4. Re: seria possivel? [RESOLVIDO]

felipe silva
lipman

(usa Debian)

Enviado em 29/03/2016 - 19:22h

Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts