"Criando" um comando

Publicado por Thiago Fernandes Gonzaga em 18/04/2008

[ Hits: 17.891 ]

 


"Criando" um comando



Pessoal, eu assim como muitos usuários de Linux tenho meus scripts executáveis com um monte de comandos, mas durante um tempo eu tinha que ir até o diretório onde estava este executável e digitar "./script" para ele rodar.

Buenas, isso acabou, agora basta copiar com um simples "cp" ou mover com "mv" o script para o diretório "/usr/local/bin/"; lá ficam todos os comandos que podem ser executados no Linux, executáveis "estrangeiros", que não fazem parte da distro por padrão (palavras de um amigo; Xico).

Espero que facilite a vida de muitos.

Abraço.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Erro na compilação do LLVM no Gentoo [Resolvido]

Limpando sua memória cache de forma simples (parte 2)

Exemplos úteis de uso do comando find

Redshift e alteração manual de temperaturas

Renomear vários arquivos ao mesmo tempo

  

Comentários
[1] Comentário enviado por fco em 18/04/2008 - 15:59h

Obrigado pela menção!

:-)

[2] Comentário enviado por Tjdestroyer em 18/04/2008 - 16:52h

Soh pra complementa, vc pode no lugar de move seu script apenas criar um link simbólico do tipo:
$ ln -s /home/user/script.sh /usr/local/bin

[3] Comentário enviado por hugoeustaquio em 18/04/2008 - 17:16h

Só pra completar: /usr/local/bin/ não é um diretório para programas 'estrangeiros'. 'usr' significa Unix System Resources, e é lido como um acrônimo para 'user'. Quando você digita um comando no bash e ele executa um programa, é porque o diretório onde este programa se encontra, está no PATH. A sua solução funcionou simplesmente porque '/usr/local/bin/' está no PATH. Caso esses scripts que você crie sejam exclusivamente seus, não é correto colocá-los em /usr/local/bin/. Melhor você criar um diretório 'bin' dentro do seu '/home/usuario/' e adiciona-lo ao PATH.


Caso você queira aprofundar seus conhecimentos sobre isso, comece lendo esse artigo: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1379
mas lembre-se que pode mudar o PATH somente para o seu usuário, editando o arquivo '/home/usuario/.bash_profile'

[4] Comentário enviado por tiagotavares em 18/04/2008 - 17:30h

É uma bela de uma dica! Mas não concordo muito em misturar os comandos nativos com os comandos customizados. Mas aí vai do gosto do fregues.
Eu prefiro adicionar o caminho da pasta onde deixaria os comandos/scripts criados por mim na variável de ambiente PATH em ~/.bash_profile (Se o comando for apenas aplicado para um usuário), ou em /etc/profile (Se o comando se aplicar para todos os usuários).

Abraço!

[5] Comentário enviado por scholla em 19/04/2008 - 01:05h

Ambos funcionaram...
Obrigado pelas dicas
e como os ultimos amigos
também aderi ao HOME/USUARIO/bin

abraço!!!

[6] Comentário enviado por claudio252 em 19/04/2008 - 15:33h

´Será que alguém poderia me passar um totorial de server firewall dhcp endian 2.1 ou um mais atual, é que to com dificuldade de configurar o meu que é o endian 2.1 eu ja usei e gostei, mais atualmente não to conseguindo configurar é uma redes de 20 estações e uso um modem d-link 500b
ABRAÇO

[7] Comentário enviado por maran em 19/04/2008 - 20:48h

hehehe boa dica, é so você ir no terminal e digitar $PATH, que ele ira te listar algo assim

20:47:02 maran§tux:~$ $PATH
bash: /usr/lib/kde4/bin:/usr/lib/kde4/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:

ai você sabe onde pode jogar arquivos ou scripts que você queira que seja executado como um comando sem precisar chamar o caminho todo

XD

[8] Comentário enviado por georgekihoma em 20/04/2008 - 17:53h

Você poderia fazer isso (executar seu próprio comando num terminal) usando qualquer das abordagens já mencionadas. Mas se você usa o bash como shell, pode apenas criar um alias no seu .bashrc. O bom disso é que apenas o perfil do usuário que tiver o alias usará o comando.

[9] Comentário enviado por chimico em 22/04/2008 - 21:46h

Não sei como é em outras distros, mas no debian basta apenas criar a parta /home/user/bin e colocar os scripts nela que eles automaticamente estão disponíveis em uma nova aba ou janela de terminal. Isso é devido as seguintes linhas do arquivo .bash_profile :

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi

Assim você tem acesso ao PATH definido pelo sistema e a ele é adicionado a sua pasta bin apenas para seu usuário.

[10] Comentário enviado por hugoeustaquio em 23/04/2008 - 09:52h

Bacana essa coisa do Debian colocar um ~/bin/ automaticamente no path caso esse diretório exista. Sempre gosto de saber essas coisinhas sobre as distros. O Slackware coloca o diretório corrente no path dos usuários não-root. E o bom é que todos os scripts do slack são bem comentados! Veja só:

# For non-root users, add the current directory to the search path:
if [ ! "`id -u`" = "0" ]; then
PATH="$PATH:."
fi

O ponto (.) no final do path representa sempre o diretório corrente.

[11] Comentário enviado por juliaojunior em 25/04/2008 - 18:37h

dica muito boa, principalmente para iniciantes.

[12] Comentário enviado por thiagotj em 28/04/2008 - 12:40h

Valeu pelos comentários ...

[13] Comentário enviado por Thiago Madella em 17/09/2008 - 11:54h

Bom muito bom, mesmo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts