#!/bin/bash # Variables realpath="$(readlink -f "$0")" # cd cd "${HOME}/.config/$(basename "$realpath")" || exit unset realpath scripts_d=./scripts # Fonction pour fabriquer une ligne de la longueur d'un tiers du terminal makeline() { local cols line cols="$(($(tput cols) / 3))" while [ "${#line}" -lt "$cols" ]; do line="${line}${1}" done printf %s "$line" } # Fonction pour afficher un séparateur separator() { local line line="$(makeline '=')" printf '\n%s\n\t%s\n%s\n' "$line" "$*" "$line" } # Procédure principale main() { for i in "${scripts_d}/"*; do separator "$(basename "$i" | cut -d '-' -f 2)" "$i" done } script="$1" shift case "$script" in "") main "$@" ;; *) # Oui, ShellCheck, c'est bel et bien ce que j'essaie de faire # shellcheck disable=SC2211 "${scripts_d}/"??"-${script}" "$@" ;; esac