Permission denied sur script schell (while)
Résolu/Fermé
tibobo_77
Messages postés
1357
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
27 juillet 2012
-
23 oct. 2009 à 11:19
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 23 oct. 2009 à 15:39
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 23 oct. 2009 à 15:39
A voir également:
- Permission denied shell
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell pause ✓ - Forum Shell
- Permission non accordée linux - Forum Shell
- Commun.file_upload.access denied ✓ - Forum Réseaux sociaux
- You don't have permission to access this resource ✓ - Forum Réseaux sociaux
9 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
23 oct. 2009 à 13:54
23 oct. 2009 à 13:54
Essaie comme ça (il y avait un "fi" en trop), le script se lance, mais il y a encore des erreurs en fonction des choix ;-((
#!/bin/sh cpu_name="/home/wwhx/" confirme="no" while test "$confirme" != "yes" do ls $cpu_name printf "\nChoisir un repertoire pour la mise a jour\n" read way_of_file cpu_name="${cpu_name}${way_of_file}" printf "%s\n" "${cpu_name}" printf "Revenir au dossier precedant?\n(yes/no)\n" read confirme2 if [ "$confirme2" != "yes" ]; then printf "Est-ce le bon fichier? (no: continue l'exploration des dossiers\n(yes/no)\n" read confirme else cpu_name="${cpu_name%/*/}/" confirme= "" printf "\n\n\n\n" fi printf "%s" "${cpu_name}" done
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 oct. 2009 à 11:36
23 oct. 2009 à 11:36
Salut,
Affiche le résultat de
Affiche le résultat de
ls -ld /home/wwhx
tibobo_77
Messages postés
1357
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
27 juillet 2012
263
23 oct. 2009 à 13:21
23 oct. 2009 à 13:21
drwxr-xr-x 43 wwhx wwhx4096 2009-10-23 11:34 /home/wwhx [1]+ Done geany update_server.sh
Donc normalement j'ai les droits...
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
23 oct. 2009 à 13:36
23 oct. 2009 à 13:36
Salut,
else
cpu_name=echo ${cpu_name%/*/}"/"
La syntaxe est mauvaise :
Devrait aller mieux ;-))
else
cpu_name=echo ${cpu_name%/*/}"/"
La syntaxe est mauvaise :
cpu_name="${cpu_name%/*/}/"
Devrait aller mieux ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tibobo_77
Messages postés
1357
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
27 juillet 2012
263
23 oct. 2009 à 13:45
23 oct. 2009 à 13:45
Thanks, ca m'a changé l'erreur :p
Ps: je suis vraiment désolé, j'ai vraiment du mal avec la synthaxe shell.... pour le moment ^^
./update_server.sh: 28: no: not found
Ps: je suis vraiment désolé, j'ai vraiment du mal avec la synthaxe shell.... pour le moment ^^
tibobo_77
Messages postés
1357
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
27 juillet 2012
263
23 oct. 2009 à 14:10
23 oct. 2009 à 14:10
C'est ce que j'ai aussi...
Tant que je ne passe pas dans le else, il n'y a aucun problème, tout ce déroule comme prévu.
Mais si j'y passe, on me dit ligne "29 : no: not found".
La valeur de "cpu_name" est bien prise en compte (le printf final me donne bien le bon chemin)
Mais le "ls" de ce dernier me fait revenir a la dernière valeur de "cpu_name"
Exemple:
on commence dans "/home/wwhx/"
Je lui dit d'aller dans le bureau.
affichage: "/home/wwhx/bureau/"
Je me suis tromper je ne voulais pas allez la! Il me propose de revenir en arrière, je répond "yes"
affichage: "/home/wwhx/"
./update_server.sh: 25: no: not found
Et le "ls" début m'affiche :
ls /home/wwhx/bureau/
La ligne d'erreur varie, mais renvoie toujours a la ligne du "donne"
Tant que je ne passe pas dans le else, il n'y a aucun problème, tout ce déroule comme prévu.
Mais si j'y passe, on me dit ligne "29 : no: not found".
La valeur de "cpu_name" est bien prise en compte (le printf final me donne bien le bon chemin)
Mais le "ls" de ce dernier me fait revenir a la dernière valeur de "cpu_name"
Exemple:
on commence dans "/home/wwhx/"
Je lui dit d'aller dans le bureau.
affichage: "/home/wwhx/bureau/"
Je me suis tromper je ne voulais pas allez la! Il me propose de revenir en arrière, je répond "yes"
affichage: "/home/wwhx/"
./update_server.sh: 25: no: not found
Et le "ls" début m'affiche :
ls /home/wwhx/bureau/
La ligne d'erreur varie, mais renvoie toujours a la ligne du "donne"
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
23 oct. 2009 à 14:37
23 oct. 2009 à 14:37
Essaie comme ça :
#!/bin/sh #set -xv cpu_name="/home/wwhx/" confirme="no" while test "$confirme" != "yes" do ls $cpu_name printf "\nChoisir un repertoire pour la mise a jour\n" read way_of_file cpu_name="${cpu_name}${way_of_file}/" printf "%s\n" "${cpu_name}" printf "Revenir au dossier precedent?\n(yes/no)\n" read confirme2 if [ "$confirme2" != "yes" ]; then printf "Est-ce le bon fichier? (no: continue l'exploration des dossiers\n(yes/no)\n" read confirme else cpu_name="${cpu_name%/*/}/" cd ../ confirme="" printf "\n\n\n\n" fi printf "%s\n" "${cpu_name}" done
tibobo_77
Messages postés
1357
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
27 juillet 2012
263
23 oct. 2009 à 15:13
23 oct. 2009 à 15:13
Toujours le "no: not found" mais ça marche ^^
Que change le "cd .." (je sais que ça remonte d'un répertoire, mais la je vois vraiment pas)?
Que change le "cd .." (je sais que ça remonte d'un répertoire, mais la je vois vraiment pas)?
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
23 oct. 2009 à 15:21
23 oct. 2009 à 15:21
Chez moi je n'ai aucune erreur ;-\
T'es sûr que tu ne fais pas d'erreur dans le choix des répertoires ? Rajoutes l'option "-p" à la commande "ls" (ls -p)...
Que change le "cd .."
Ben tu remontes d'un répertoire sans te soucier de savoir où tu es...
T'es sûr que tu ne fais pas d'erreur dans le choix des répertoires ? Rajoutes l'option "-p" à la commande "ls" (ls -p)...
Que change le "cd .."
Ben tu remontes d'un répertoire sans te soucier de savoir où tu es...
tibobo_77
Messages postés
1357
Date d'inscription
mardi 21 avril 2009
Statut
Membre
Dernière intervention
27 juillet 2012
263
23 oct. 2009 à 15:34
23 oct. 2009 à 15:34
Pour l'erreur tu avais raison,
Par contre reprenant le nom complet du chemin a chaque fois, je ne comprend tjs pas l'utilisation du change directory.
Par contre reprenant le nom complet du chemin a chaque fois, je ne comprend tjs pas l'utilisation du change directory.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
23 oct. 2009 à 15:39
23 oct. 2009 à 15:39
C'est clair qu'elle ne sert à rien, je l'avais mis pour mes tests en commentant la ligne précédente, et je l'ai laissée à la fin quand tout marchait bien, c'est donc un oubli, tu peux la virer ,-))