SCM - Compressão em Massa
Publicado por Slackjeff (última atualização em 28/06/2018)
[ Hits: 1.430 ]
Homepage: https://slackjeff.com.br
Simples compressão em massa (bash, ksh, zsh).
Modo de uso e outras informações:
https://notabug.org/jeffersonrocha/scm/raw/master/README.md
#!/usr/bin/env bash #=============HEADER================================================| #AUTOR # Jefferson Rocha <lrcjefferson@gmail.com> # #PROGRAM # SCM - Simple Compreension Mass # #DESC # #TESTED SHELLS: # Bash: version 4.3.48 # Ksh: version 93u+ # Zsh: version 5.2 # #CHANGELOG #===================================================================| #=========VARS============================| #==CONFIGURATIONS # Create MD5 file? MD5="0" # 0 OFF | 1 ON readonly NAME="SCM" readonly VERSION="0.1" #==Colors bold=$(tput bold) fg_error=$(tput setaf 1) fg_ok=$(tput setaf 2) fg_end=$(tput sgr0) #=========================================| #=========TESTES==========================| deps=("gzip" "tar" "md5sum") # program dependencies for x in "${deps[@]}"; { if ! type -p "${x}" 1> /dev/null 2>&1; then # MD5 enabled and installed on system? if [ "${x}" = "${deps[2]}" ] && [ "$MD5" = "1" ] ; then printf "${bold}${fg_error}U NEED INSTALL '${x}' FOR CONTINUE;${fg_end}\n" exit 1 else continue fi printf "${bold}${fg_error}U NEED INSTALL '${x}' FOR CONTINUE;${fg_end}\n" fi } #=========================================| #========FUNCTIONS========================| USAGE(){ cat <<EOH USAGE HERE. EOH exit 0 } _COMPRESS(){ # Local variables: typeset INPUT_TYPE typeset ARCHIVE until [ -z "$1" ]; do # Main loop [ -d "$1" ] && INPUT_TYPE="DIRECTORY" || INPUT_TYPE="ARCHIVE" # Input type. [ ! -w "$1" ] && { printf "NO PERMISSION!"; continue ;} # Have permission write? ARCHIVE="${1/%\//}-${INPUT_TYPE}.gz" if tar cf - "$1" | gzip -9 > "${ARCHIVE}"; then [ "$MD5" = "1" ] && md5sum "${ARCHIVE}" > "${ARCHIVE}.md5" # ON? Generate .md5 file printf "${bold}${fg_ok}'${1}'......\t[OK]${fg_end}\n" else printf "${bold}${fg_error}'${1}......\t[ERROR]'${fg_end}\n" fi shift # Downnn! done } #=========================================| # no params? go function. [ "$#" = "0" ] && USAGE ################# # MAINLAND here # ################# if [ "$1" = "compress" ]; then shift # Palmeiras if [ -z "$1" ]; then USAGE else _COMPRESS "$@" fi elif [ "$1" = "usage" ] || [ "$1" = "help" ]; then USAGE fi
Script para Gerenciamento de Pacotes no Slackware
Script para pegar ip WAN para firewall com uma ou mais links de internet
Monta Pen-Drive Windows no Linux
Nenhum comentário foi encontrado.
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Será possível instalar Linux Mint LMDE em Sony Vaio? (17)
O livro "Linux - Guia do Administrador do Sistema (Rubem E. Ferre... (1)
Como redefinir o diretório Home? (2)
Posso instalar usar o grub sem ter linux instalado, para iniciar o win... (2)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (6)