SCM - Compressão em Massa
Publicado por Slackjeff (última atualização em 28/06/2018)
[ Hits: 1.572 ]
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
Criador de VirtualHosts Apache no Ubuntu e Debian
Baby Percent - Converte Semanas da Gestação em Porcentagem
diskSpace - acha os dez maiores gastadores de espaço em disco
Nenhum comentário foi encontrado.
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Erro ao fazer remaster usando Penguin eggs (2)
Primeiras impressões do Debian 13 (25)
Meu Amigo não consegue entrar em meu mundo, via tailscale, hamachi e z... (1)