Copier avec écrasement en mode non interactif
SR juillet 20th, 2009
En shell sous linux la copie d’une aborescence avec écrasement de fichiers génère des demandes de confirmation en cascade :
[root]# cp * -R /var/www/html/wp/
cp: overwrite `/var/www/html/wp/index.php'?
cp: overwrite `/var/www/html/wp/index.php'?
Cela est du au fait que … « cp » est en fait un alias à /bin/cp avec l’activation du paramètre « -i » pour « interactive » :
# alias | grep cp
alias cp='cp -i'
alias cp='cp -i'
et
# cp --help
[..]
-i, --interactive prompt before overwrite
[..]
-i, --interactive prompt before overwrite
Pour éviter donc de taper des « y » au kilomètre, 2 options :
a) soit utiliser directement /bin/cp
b) soit utiliser un injecteur tel que « yes » :
yes 'y' | cp * -R /var/www/html/wp/