• [^] # Re: Information sur le volume cible

    Posté par . En réponse à la dépêche Arkiv : Sauvegarde de fichiers et bases MySQL + archivage sur Amazon S3 et Amazon Glacier. Évalué à 1.

    J'utilise ceci au début de mes scripts principaux placé dans le path :

    function echoer() { echo "$@" 1>&2 ; }
    function die() { echoer "$@" ; exit 1 ;}
    command -v readlink &> /dev/null
    if [ "$?" -eq "0" ] ; then
     #shellcheck disable=SC2155
     export curdir="$( cd "$( dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}" )" )" && pwd )"
    else
     #shellcheck disable=SC2155
     export curdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
    fi
    if [ -s "${curdir}/../lib/px-lib" ] ; then
     source "${curdir}/../lib/px-lib"
     if [ ! "$?" -eq "0" ] ; then
     die "Erreur de chargement du fichier de lib : ${curdir}/../lib/px-lib"
     fi
    else
     die "Impossible de trouver le fichier de la lib : ${curdir}/../lib/px-lib"
    fi

    et dans la px-lib je peux charger d'autre truc

    Et ça marche sous MacOS / CentOS / Debian / cmder sous Windows avec des chemins (削除) à la con (削除ここまで) par normés.

    sinon une autre méthode avec recherche du fichier px-lib dans different dossiers éventuels :

    function echoer() { echo "$@" 1>&2 ; }
    function die() { echoer "$@" ; exit 1 ;}
    function px_search_file() { local find=1ドル ; local n=$# ; for ((i=2;i <= n;i++)) { local path=${!i}/$find ; if [ -e "${path}" ]; then echo "${path}"; return 0; fi } ; return 1 ; }
    PX_LIB=$(px_search_file "lib/px-lib" "$PX_LIB_PATH_SEARCH" "/opt/pxtools" "/c/dev/Utils/pxtools/bin/px-tools" "/c/DEV/pxtools" "/Users/Shared/Documents/sources/pxtools") || die "Erreur : impossible de charger la librairie px-lib"

    J'espère ne pas finir séché sous un faux plafond ;) (private joke)