#1 Le 02/07/2010, à 03:26
- phenix63
[Résolu] copie et suppression d'étoile !!!!!!!! cp * et rm *
Bon, je suis pas du style à poster sans chercher, mais là ça me gonfle de passer 60 heures pour faire un bête copier ou une bête suppression.
Je veux faire un script donc qui importe les paramètres de firefox d'une clé à un pc. (pour pas avoir à redéfinir tout à chaque fois.
FIREFOX_BOOKMARK_PATH=$HOME"/.mozilla/firefox/"$value
if [ -d $FIREFOX_BOOKMARK_PATH ]; then
{
sudo killall -i -v -s TERM firefox
sudo 7z a $DEST_SAUV_MARKUPS $FIREFOX_BOOKMARK_PATH
cd $FIREFOX_BOOKMARK_PATH
===> sudo rm -v -r -I *
cd $USB_ROOT_FOLDER"/BOOKMARKBACKUPS/"$value"/"
====> sudo cp -v -r * $FIREFOX_BOOKMARK_PATH
sudo chown -R $WHO_AM_I:$WHO_AM_I $FIREFOX_BOOKMARK_PATH
echo "press enter"
read x
sudo cp -r -v $USB_ROOT_FOLDER"/BOOKMARKBACKUPS" $PROJECT_FOLDER
echo "press enter"
read x
}
else
{
echo "path found, but no file $FIREFOX_BOOKMARK_PATH"
}
fi
et le méchant à l'affront de me répondre
rm : supprimer tous les arguments récursivement ? y
rm: ne peut enlever `*': Aucun fichier ou dossier de ce type
/media/ilune/start: line 681: cd: /media/ilune/BOOKMARKBACKUPS/qkfinp80.default/: Permission non accordée
cp: ne peut évaluer `*': Aucun fichier ou dossier de ce type
pourtant ici http://www.commentcamarche.net/forum/af … repertoire ils disent que ça devrait marcher ... Alors pourquoi ça veut pas marcher ?
merci d'avance pour vos réponses
Dernière modification par phenix63 (Le 02/07/2010, à 07:51)
Hors ligne
#2 Le 02/07/2010, à 06:29
- gl38
Re : [Résolu] copie et suppression d'étoile !!!!!!!! cp * et rm *
rm fait par défaut
rm -i
c'est plus prudent dans la vie courante !
il faut mettre \rm pour avoir le comportement indiqué par la doc.
Cordialement,
Guy
Hors ligne
#3 Le 02/07/2010, à 07:50
- phenix63
Re : [Résolu] copie et suppression d'étoile !!!!!!!! cp * et rm *
ok super merci, j'imagine que l'anti slash indique au shell de prendre en compte les joker.
Du coup ça fait
[
sudo \rm -v -r -I $FIREFOX_BOOKMARK_PATH"/"*
sudo \cp -v -r $USB_ROOT_FOLDER"/BOOKMARKBACKUPS/"$value"/"* $FIREFOX_BOOKMARK_PATH
Merci beaucoup et bonne journée
Hors ligne
#4 Le 02/07/2010, à 08:00
- nesthib
Re : [Résolu] copie et suppression d'étoile !!!!!!!! cp * et rm *
remarques :
- tu utilises l'option -I de rm qui te demande une confirmation avant suppression (est-ce voulu ?)
- a priori cette erreur signifie que le dossier est vide, pour le debug fais un ls avant pour vérifier que ton dossier contient bien des fichiers
- pour plus de portabilité utilise le chemin complet de tes exécutables (/bin/rm /bin/cp)
- ne mets pas des sudo dans le code, il vaut mieux tester si le script est lancé avec les droits root ainsi :
if [[ $UID -ne 0 ]]; then
echo "$0 doit être lancé avec les privilèges root"
exit 1
fi
cela t'évitera ton erreur de cd
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#5 Le 02/07/2010, à 12:04
- HP
Re : [Résolu] copie et suppression d'étoile !!!!!!!! cp * et rm *
- ne mets pas des sudo dans le code, il vaut mieux tester si le script est lancé avec les droits root […]
Ouais, ça se discute… et perso, je pense que ça dépend plus des circonstances.
Le principal avantage de sudo c'est, quand même, que seules les commandes nécessitant les droits seront exécutées avec ces droits… un script ne nécessitant des droits que de façon ponctuelle, je pense, pourrait pleinement profiter de sudo .
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#6 Le 02/07/2010, à 12:40
- nesthib
Re : [Résolu] copie et suppression d'étoile !!!!!!!! cp * et rm *
oui je suis entièrement d'accord mais en l'occurence toute les commandes de son script comportent un sudo, sauf le cd (commande interne à bash) à qui les droits root font défaut (erreur de permissions)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 02/07/2010, à 21:48
- phenix63
Re : [Résolu] copie et suppression d'étoile !!!!!!!! cp * et rm *
En fait j'ai retiré le cd, je l'avais mis juste pour tester si avec l'étoile seul ça marchait. Mes deux lignes marchent parfaitement, et si il y avait des fichiers à l'emplacement indiqué.
Oui, le -I est voulu
Ok, merci pour l'idée concernant les sudo, je ne connaissais pas cette manière de faire, mais bon ça me permet de le lancer graphiquement.
J'ai mis le sujet en résolu
Hors ligne