Cria cabeçalhos para shell scripts
Publicado por Sandro Marcell 18/05/2007
[ Hits: 16.015 ]
Homepage: http://sanmarcell.wordpress.com
Crie cabeçalhos para shell script de forma rápida com este simples script.
Ao ser criado, o arquivo já terá permissão de execução, aí é só pôr os comandos nele e executar normalmente.
#!/bin/zsh
## Gera.sh - Gera cabeçalho para scripts
## Escrito por: Sandro Marcell P. Barbosa (Boa Vista - Roraima)
## E-mail: sandro_marcell@yahoo.com.br
## Slackware GNU/Linux 10.1.0
# Exemplo de uso: nome_script meu_script
# Você também pode especificar a extensão, conforme o interpretador.
# Ex.: nome_script backup.sh para o interpretador 'sh'
# ou nome_script backup.tcl para o interpretador 'tcl' e assim por diante!
# Definindo o interpretador padrão (substitua por outro se quiser!):
INTERPRETADOR="#!/bin/sh"
# Conteúdo do cabeçalho (altere conforme queira!):
INFO="## <Nome e descrição do script>"
CRIADOR="## Escrito por: <seu nome>"
EMAIL="## E-mail: <substitua pelo seu e-mail>"
DISTRO="## <Substitua por sua distro e a versão>"
# Modificando a saída do comando 'print':
Print () { print '\e[1m'"\n$*\n" ; tput sgr0 ; }
# Checando se o usuário especificou o nome do script:
if [[ $# -eq 0 ]] {
Print ">>> Uso: $(basename $0) <nome_do_script>"
bye
} elif [[ $# -ge 2 ]] {
Print "> Nome com espaços não são válidos!"
bye
}
# O usuário pode gravar no diretório corrente?
if [[ ! -w $PWD ]] {
Print "> Sem permissão para gravar no diretório corrente!"
bye
}
# E se existir outro script com o mesmo nome no diretório corrente?
if [[ -f $1 ]] {
Print "> Já existe um script com o mesmo nome neste diretório!"
bye
}
# Corpo do script:
(
cat << FIM
$INTERPRETADOR
$INFO
$CRIADOR
$EMAIL
$DISTRO
# Agora basta adicionar comandos nas linhas subseqüentes =)
## Data de criação deste script: $(date "+%a %d/%m/%Y") às $(date "+%T")
FIM
) > $1
# Setando a permissão de execução:
if [[ -f $1 ]] {
chmod +x $1 2> /dev/stdout
Print "Script [$1] criado e com permissão de execução!"
} else {
:
}
bye
## Data de criação deste script: Ter 24/04/2007 às 21:05:09
Backup de bases de dados individuais do PostgreSQL
Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
Script usado junto com o squid para dedurar usuários.
Removendo arquivos com primeiro caracter especial
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









