Dans un script shell Je veux une variable p
soit égale à "[email protected]"
, de sorte que les deux lignes de code suivantes produisent le même résultat:
for x in "$p"; do echo $x; done
for x in "[email protected]"; do echo $x; done
Si je [email protected]
ou p="[email protected]"
cela ne fonctionne pas. Lorsque les arguments de ligne de commande ont des espaces dans leurs noms, je ne peux pas trouver une solution simple à ce problème (la combinaison p="[email protected]"
et for x in $p
(guillemets supprimés autour de $ p) fonctionne lorsqu'il n'y a pas d'espaces).
bien, cela ne fonctionne pas. Il n'imprime rien. – sivann
@sivann: Le code ci-dessus imprime seulement quelque chose si certains paramètres positionnels sont déjà établis (par exemple, enregistrez le code dans un fichier et exécutez-le avec des arguments supplémentaires: 'bash/chemin/vers/fichier arg1 '). Sans plus de détails, il est difficile de dire quels problèmes vous rencontrez. Vous voudrez peut-être poser une nouvelle question avec plus de détails sur ce que vous essayez de faire (et ce que vous avez déjà essayé). –