salut,
c'est très domage que
* install ne soit pas plus utilisé: le nom est
trompeur de du coup il est plutôt utilisé dans des makefiles pour
installer des fichiers dans les bons répertoires avec les bons
propriétaires et les bons droits.
* -D soit une spécificité (pourtant bien utile) du GNU project.
On Fri, Oct 17, 2025 at 11:36:29PM +0200, Pierre Estrem wrote:
> Je vais adopter la solution en set/mkdir -p/cp - d'autant que je ne
> connaissais pas l'option "-t" de cp
> (sauf si je devais rencontrer des
> conflits avec le paramètre $1 car je dois inclure cela dans mon script de
> post-installation de preseed.
dans ce cas là tu peux passer par une fonction
inlay() {
mkdir -p "$1"
cp -t "$@"
}
qui est cool parce qu'elle prend un nombre arbitraire de fichiers
inlay /etc/config/autostart terminal.desktop gimp.desktop
sinon tu peux simplement passer par des variables mais tu perds le coté
tableau.
to=/etc/config/autostart fichiers=terminal.desktop
mkdir -p "$to"
cp -t "$to" "$fichiers"
avec sh (dash dans les distros qui se respectent et/ou qui utilisent
busybox), tu peux permettre l'expansion pour avoir une liste de fichiers
quand meme:
to=/etc/config/autostart fichiers='terminal.desktop gimp.desktop'
mkdir -p "$to"
cp -t "$to" $fichiers
ce qui va devenir
mkdir -p /etc/config/autostart
cp -t /etc/config/autostart terminal.desktop gimp.desktop
attention parce que:
* si tu as un espace dans un nom de fichier, ca va merder
* les globs sont interprétés apres les variables. c'est super pratique
mais il faut le retenir
to=/etc/config/autostart fichiers='*.desktop'
en zsh tu peux juste passer par un tableau et il n'est pas utile
de proteger les variable de l'expansion et du word spliting
(lequels doivent être explicité )
to=/etc/config/autostart fichiers=(terminal.desktop gimp.desktop)
mkdir -p $to
cp -t $to $fichiers
et en bash je sais plus et je m'en fous! au nom des générations
futures, je milite pour sa disparition. :)
notes que dans les 2 cas tu peux rendre le truc plus lisible en passant
à la ligne
to=/etc/config/autostart
fichiers='
terminal.desktop
gimp.desktop
'
to=/etc/config/autostart
fichiers=(
terminal.desktop
gimp.desktop
)
bien à toi
--
Marc Chantreux
Pôle CESAR (Calcul et services avancés à la recherche)
Université de Strasbourg
14 rue René Descartes,
BP 80010, 67084 STRASBOURG CEDEX
03.68.85.60.79
Attachment:
signature.asc
Description: PGP signature