"Criando" um comando

Publicado por Thiago Fernandes Gonzaga em 18/04/2008

[ Hits: 17.887 ]

 


"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

Assista Star Wars episódio IV no terminal

Abrindo imagens via linha de comando

Compactando arquivos no Linux

Tirando screeshots via linha de comando

Usando o dpkg-repack

  

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