#!/bin/bash # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 source /etc/nulib.sh || exit 1 declare -A DESTDIRS=( [template-_bg_launcher.php]=sbin [template-.launcher.php]=_cli [template-_wrapper.sh]=_cli ) declare -A MODES=( [template-_bg_launcher.php]=+x [template-.launcher.php]= [template-_wrapper.sh]=+x ) projdir= args=( "copier les templates dans le projet en cours" #"usage" -d:,--projdir: . ) parse_args "$@"; set -- "${args[@]}" if [ -n "$projdir" ]; then cd "$projdir" || die fi [ -f composer.json ] || die "$(basename "$(dirname "$(pwd)")"): n'est pas un projet composer" setx -a templates=ls_files "$MYDIR" "template-*" for template in "${templates[@]}"; do destdir="${DESTDIRS[$template]}" [ -n "$destdir" ] || die "$template: la destination n'est pas configurée" mode="${MODES[$template]}" destname="${template#template-}" tail -n+4 "$MYDIR/$template" >"$destdir/$destname" [ -n "$mode" ] && chmod "$mode" "$destdir/$destname" done