![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| double déclaration de variable | kotasateesh | De programmation et de script Shell | 3 | 08-31-2007 06:29 AM |
| Escape Car pour le guillemet | navik_pathak | De programmation et de script Shell | 1 | 01-05-2007 02:34 PM |
| simple ou double citation en SED | Asami | De programmation et de script Shell | 2 | 07-17-2006 04:03 AM |
| Double Cours dans une variable | burton_1080 | De programmation et de script Shell | 4 | 12-01-2005 01:44 PM |
| double variable de substitution | asal_email2 | UNIX pour les nuls Questions et réponses | 1 | 06-14-2005 01:35 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Problème avec le double guillemet et variable de chaîne
Bonjour,
i output.txt avoir un fichier qui contient une seule ligne avec une liste de fichiers avec des guillemets: "fichier1.ext" "fichier2.ext" "file3.ext" Dans un shell script, je veux retrouver la ligne et l'utiliser comme une variable dans une commande comme: zip archive.zip $ LISTE I cant get it work. Quand je physiquement tapez la commande zip archive.zip "fichier1.ext" "fichier2.ext" "file3.ext", il fonctionne bien mais lorsque je tente d'utiliser une variable de chaîne, j'obtiens une erreur. Existe-t-il un bon moyen de le faire? Merci! |
|
||||
|
Quand vous tapez sur la ligne de commande, les guillemets ne sont pas transmises à zip. Si vous utilisez un script (le montrer!), Puis si elle est de passage dans les prix de sorte que zip voit, arrêter de faire cela.
Si vous avez le contrôle sur la chose qui génère le fichier de sortie, en font une utilisation moins loufoque format. Voyez comment xargs-t-il, c'est probablement un bon modèle pour vous. |
|
||||
|
Citation:
Postez votre code actuel (ou juste la partie concernée) pour obtenir de l'aide. |
|
||||
|
Citation:
Code:
LIST=$(tail -1 $FILE) cvs log -N -r$rev1:$rev2 $LIST > changelog.txt Mon fichier ressemble à ça: Code:
"java/file1.java" "java/file2.java" "java/file3.java" "java/file4.java" "java/file5.java" Il est le résultat d'une transformation XSLT, et je n'ai donc avoir le contrôle sur elle. Je peux générer un fichier qui ressemble à ceci, sans les guillemets et de mon script fonctionne parfaitement: Code:
java/file1.java java/file2.java java/file3.java java/file4.java java/file5.java Mais je voulais à envelopper les guillemets autour des noms de fichiers au cas où certains des noms de fichiers contenant des espaces. Alors peut-être que je devrais travailler sur ma feuille de style XSL dans le but d'échapper à des espaces dans les noms de fichier? |
|
||||
|
Ou si vous avez la possibilité, en faire un fichier par ligne (et de se soucier des noms de fichiers avec de nouvelles lignes dans leur lieu ...).
xargs a une option pour utiliser un nul (ASCII 0x00) terminateur pour ce cas particulier. (Valeurs Null et des barres obliques sont les deux seuls personnages qui sont rejetées dans le répertoire des noms.) |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|