Script bash qui marche à moitié - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 22-01-2007 à 19:29:26
Il fautdrait que tu récupère le répertoir de ton fichier au lieu d'utiliser des chemins relatifs
et mets des "guillemets" autour de tes variables
Marsh Posté le 22-01-2007 à 19:45:37
Et pour récupérer le chemin de mon fichier, tu n'aurais pas une idée par hasard?
Marsh Posté le 22-01-2007 à 23:39:53
Ce n'était pas un problème de chemin, il me fallait supprimer à la troisième ligne le tube suivant :
| sed 's/ /\?/g
je ne sais pas pourquoi mais ça marche !
Marsh Posté le 23-01-2007 à 00:14:32
Cette ligne avait des "anti guillemets" (j'ai oublié leur nom réel).
Normalement, ils servent à exécuter la commande en priorité et à "servir" le résultat quand la portion doit etre exécutée.
Sauf que là, ça concernait TOUTE la ligne...
Marsh Posté le 23-01-2007 à 14:26:48
Voilà, mon script est quasi fini mais j'ai un gros problème ! Il marche de partout sauf lorsque je sélectionne un fichier sur mon Desktop !
Code :
|
Qu'est-ce qui déconne d'après vous ?
Marsh Posté le 23-01-2007 à 14:28:50
Le chemin absolu de ton desktop c'est quoi ?
Marsh Posté le 23-01-2007 à 14:51:50
Alors quelques remarques :
- file0=`echo "$name.$extend"` c'est pas juste $1 ca ?
- pense bien à protéger tes variables avec "". En effet echo "toto titi tata" et echo toto titi tata c'est pas pareil
- tu peux aussi protéger des `toto` en "`toto`", si jamais `toto` renvoie plusieurs mots séparés par des espaces tu pourrais avoir des surprises
Mais sinon je ne vois rien qui se comporterait différement avec /home/bastien/Desktop
Marsh Posté le 23-01-2007 à 14:58:28
- file0=`echo "$name.$extend"` c'est pas juste $1 ca ?
Bien sûr, mais j'ai besoin de l'extension du fichier à part. Je n'ai pas mis tout le script pour ne pas rendre difficile sa lecture.
Marsh Posté le 23-01-2007 à 15:01:32
hdiamant a écrit : - file0=`echo "$name.$extend"` c'est pas juste $1 ca ? |
Balance tout au contraire
Marsh Posté le 23-01-2007 à 15:02:04
pour memaster62
Je n'ai malheureusement pas de bon conseil à te donner en matière de programmation de script, je le regrette sincèrement. Par contre, je peux te donner un conseil humain, ta remarque est blessante. Il ne me semble pas que l'on ait jamais aidé quelqu'un par simple désobligeance, ça se saurait, sinon ! Tu ne crois pas?
Marsh Posté le 23-01-2007 à 15:03:27
hdiamant a écrit : pour memaster62 Je n'ai malheureusement pas de bon conseil à te donner en matière de programmation de script, je le regrette sincèrement. Par contre, je peux te donner un conseil humain, ta remarque est blessante. Il ne me semble pas que l'on ait jamais aidé quelqu'un par simple désobligeance, ça se saurait, sinon ! Tu ne crois pas? |
je pense qu'il plaisantait, marche à moitié = manque une jambe enfin un truc comme ça quoi faut pas le prendre pour toi
Marsh Posté le 23-01-2007 à 15:05:28
Code :
|
Voilà, si c'est plus clair comme ça.
Marsh Posté le 23-01-2007 à 15:11:57
J'ai pas mon pc pour vérifier ... est-ce que tu as le même contenu dela variable NAUTILUS_SCRIPT_SELECTED_FILE_PATHS en sélectionnant des fichiers depuis le Desktop et depuis un nautilus qui affiche le contenu de Desktop ?
Marsh Posté le 23-01-2007 à 15:18:15
De toute façon newfile et file0 ne servent jamais ici
Pourquoi utiliser sed pour remplacer les espaces par des - ? Si tu protèges tout comme il faut on peut tout à fait manipuler des noms de fichiers avec espaces (certes c'est chiant parfois)
Et dans la définition de file1, pas besoin de sortir le $1 des "", "blablabla $1 blablabla" c'est protégé donc c'est bien
Marsh Posté le 23-01-2007 à 15:18:50
Mjules a écrit : je pense qu'il plaisantait, marche à moitié = manque une jambe enfin un truc comme ça quoi faut pas le prendre pour toi |
oui ce sujet manquait un p'ti peu de bon humeur, c'était une boutade.
je suis désolé si tu l'as mal pris
Marsh Posté le 23-01-2007 à 15:43:14
Xavier_OM a écrit : De toute façon newfile et file0 ne servent jamais ici |
Oui, c'est vrai. Au début, je pensais que newfile serait mon chemin mais pas du tout. Je pensais aussi invoquer file0 mais c'est la même chose que $1 donc, ce n'est pas nécessaire en effet.
Xavier_OM a écrit : Pourquoi utiliser sed pour remplacer les espaces par des - ? Si tu protèges tout comme il faut on peut tout à fait manipuler des noms de fichiers avec espaces (certes c'est chiant parfois) |
J'ai besoin qu'il n'y ait pas d'espace dans les noms de fichier. Il ne s'agit pas de musique mais de bouts d'enregistrements techniques donc la présentation n'est pas trop mon souci, pourvu que ce soit conforme.
Xavier_OM a écrit : Et dans la définition de file1, pas besoin de sortir le $1 des "", "blablabla $1 blablabla" c'est protégé donc c'est bien |
Tu as raison, je les supprime.
Mais le script ne marche toujours pas à partir du Desktop.
Pffff !!! J'ai commencé ça samedi et vous voulez qu'il y ait de l'humour? Aaargh !
Marsh Posté le 22-01-2007 à 18:40:49
Salut tout le monde,
Soyez indulgent avec un débutant (plein de volonté et qui a Google comme copain) !
Voilà, c'est mon premier script, il est beau mais voilà, il y a un truc qui ne va pas dans mon code. Le script fait ce que j'attends de lui en ligne de commande si je suis dans le répertoire courant du fichier que je veux renommer mais si je le lance via nautilus-script, la commande mv sensée renommer mon fichier ne fait rien.
J'ai l'impression que c'est un problème de chemin mais pourquoi ?
Voici mon code :
Je précise que ça marche en ligne de commande si je suis dans le répertoire courant.
ça me détruit mon fichier piaf.p3
Par contre :
fonctionne.