Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Bloc de code
languagebash
titlefonctions_communes.sh
linenumberstrue
# fonctions

# fonction: die ()
# au moins 1 paramètres : le code erreur sortie
# 
# usage:
#
# $ die <numéro d'erreur> [<messages d'erreur>+]
#
# cette fonction retourne le code erreur donné en
# premier paramètre et affiche le message sur la
# sortie erreur standard en deuxième et plus paramètre.
die ()
{
    [ $# -ge 1 ] || return 2
    err_code="$1"
    shift
    printf '%s\n' "$*" 1>&2
    exit $err_code
}

# fonction: espsqousligneminuscule ()
# au moins un paramètre : la chaîne à transformer.
#
# usage:
#
# $ espsouligneminuscule "Une chaîne avec des caractères bizarres et des accents"
#
# fonction utilitaire qui remplace par exemple un titre avec des espaces
# peu pratique pour un nom de répertoire en un titre avec des soulignés
# et met le tout en minuscules. Enfin, transforme les & en «and».
# exemple :
# espsouligneminuscule "Toto est bếte & méchant"
# donne toto_est_bete_and_mechant
#
espsouligneminuscule ()
{
    [ $# -eq 0 ] && return 2
    chaine="$*"

    resultat=$(echo "$chaine" | tr " A-Z')(\":/{}," "_a-z--------")
    print "$resultat" | sed -e 's@&@and@g' -e 's@\(_-\)\|\(-_\)\|\(_-_\)@-@g' -e 's@-$@@'
}

# fonction err ()
#
# usage:
# $ err [<messages d'erreur>+]
#
# cette fonction affiche l'ensemble des arguments
# passés en paramètres sur l'erreur standard.
err ()
{
    printf '%s\n' "$*" 1>&2
}

# fonction mkcd ()
#
# usage:
# $ mkcd [<répertoire à créer pour s'y rendre>]
#
# cette fonction crée un répertoire s'il n'existe pas
# et y va.
mkcd ()
{
    [ $# -eq 1 ] && mkdir -vp "$1"
    cd "$1"
}

# fonction urldecode ()
#
# usage:
# $ urldecode 'chaîne url codée à décoder'
#
# Cette fonction décode une chaîne écrite en codage url
# Trouvé ici : https://unix.stackexchange.com/questions/159253/decoding-url-encoding-percent-encoding#159373
urldecode ()
{
    sed -re 's@%([0-9A-F][0-9A-F])@\\x\1@g' | xargs -0 printf '%b'
}

# fonction urlencode ()
#
# usage:
# $ urlencode 'chaîne à coder en urlcode'
#
# Cette fonction code une chaîne en codage url
urlencode ()
{
    local LANG=C
    local c
    while IFS= read -r c
    do
        case $c in [a-zA-Z0-9.~_-]*) printf "$c"; continue ;; esac
        printf "$c" | od -An -tx1 | tr ' ' % | tr -d '\n'
    done <<EOF
          $(fold -w1)
EOF
    echo
}

# fonction webdate ()
#
# usage:
# $ webdate <url dont on voudrait la date de dernière modif>
#
# fonction qui recherche la date de dernière modif de l'URL donnée
webdate ()
{
	[ $# -ne 1 ] && return 2
    url="$1"
    wget -S --spider "$url" 2>&1 | grep -Ei 'last-modified|date'
}

Alias utiles

Bloc de code
languagebash
titlealias.sh
alias webheaders='wget -S --spider'