• [^] # Re: Dans le même esprit

    Posté par (site web personnel) . En réponse au message Script bash. Évalué à 2.

    Pas idiot le triple ` ! Commande système pour printf, ne sais pas les effets de bord possible, à voir car c'est aussi effectivement intéressant ;-)

    #!/bin/bash
    read -p 'veuillez indiquez un chemin ' chemin
    # in order to accept ~ for ${HOME} - echo could be replace by printf
    chemin=$(eval echo -- "${chemin}" | sed -e 's/^-- //;')
    # verify path is a directory
    [ -d "${chemin}" ] || { echo "path ${chemin} not exists" 1>&2; exit 1; }
    cd "${chemin}"
    # verify ${SHELL} binary : executable and define in the system list
    [ -x "${SHELL}" ] || { echo "shell ${SHELL} not executable" 1>&2; exit 2; }
    grep -q "${SHELL}" /etc/shells || { echo "${SHELL} not a valid shell" 1>&2; exit 3; }
    exec ${SHELL}