Pular para o conteúdo

cpb - Copiando arquivos executáveis ...

Dica publicada em Linux / Avançado
Danillo Costa hellnux
Hits: 6.625 Categoria: Linux Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

cpb - Copiando arquivos executáveis ...

Olá,

Quantas vezes precisamos de ver o código-fonte de algum programa ou de um arquivo executável sem saber onde se encontra, seja para estudar ou apenas por curiosidade?

Com isso desenvolvi um script em Shell que supre uma necessidade pessoal que o comando cp não me atende com a eficiência desejada.

Do jeito normal seria necessário dois comandos para efetuar este tipo de operação:

$ whereis [Programa]
# cp [Opção] [Caminho_completo_do_programa] [Caminho_a_colar]


Para quem já tem um pouco mais de intimidade com o BASH, basta o seguinte comando que utilizei no programa:

# cp [Opção] `whereis [Programa] | sed -e "s/[Programa]://g"` [Caminho_a_colar]

Para quem quiser o programa já pronto, copie o código abaixo em um arquivo de nome cpb:

#!/bin/sh

# Autor: Danillo Costa Ferreira - hellnux
# v 0.4 - 21/04/2006
# License GPL


if [ $1 == "--help" ] ; then
 echo
 echo " Uso: cpb [Opção] [Programa] [Diretório]"
 echo
 echo " Copia arquivos executáveis sem a necessidade de digitar o caminho completo"
 echo "para o diretório desejado."
 echo
 echo " Opções:"
 echo "     -f             Faz a copia forçada, sem perguntar."
 echo "     -v             Mostra a versão."
 echo "     --help         Mostra esta mensagem."
 exit 0
fi

if [ $1 == "-v" ] ; then
 echo "Versão 0.4 - 21/04/2006 [hellnux@gmail.com]"
 exit 0
fi

if [ $1 == "-f" ] ; then
 cp $1 `whereis $2 | sed -e "s/$2://g"` $3
 exit 0
fi

cp `whereis $1 | sed -e "s/$1://g"` $2

if [ $? == 0 ] ; then
 echo " Cópia realizada com sucesso!"
 exit 0
 else
  echo " Operação não realizada com sucesso."
  exit 127
fi

Logo após de salvar, coloque o mesmo no diretório /sbin, assim basta usar o programa na linha de comando como:

$ cpb [Opção] [Programa] [Diretório]

Para os expert em Shell Script, aceito sugestões. =P

HeLLnuX Linuxzando...
Até.

Comando rsync ignora diretórios chamados "core" [Resolvido]

Instalando o KDE 3.4.1 no Kurumin 5

Montando partições do segundo HD

Instalando o KDE 3.4.2 no Slackware 10.1

Tornando seus scripts amigáveis (executáveis)

Recuperação de OpenRC e SysVinit em Sabayon Linux

Expandindo partição ext3 em discos lógicos e qcow2 em ambiente de virtualização

Logando make, compilações e atividades em geral

OpenVZ Web Panel

Sabayon Linux: instalando duas versões de pacotes

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.