Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile

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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 *

nesthib a écrit :

- 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 wink.


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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 smile
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 smile

Hors ligne