La règle générale est que les guillemets doubles permettent toujours l’agrandissement des variables à l’intérieur des guillemets, contrairement aux guillemets simples. Continue de lire.
Citations avec texte simple
Si vous insérez simplement quelques mots dans le texte, peu importe celui que vous utilisez, ils fonctionneront exactement de la même manière. Par exemple, ces deux commandes créeront un répertoire nommé Test Directory:
mkdir 'Test Directory' mkdir 'Test Directory'
Les types les plus expérimentés noteront probablement que vous pouvez également utiliser mkdir Test Directory si vous le souhaitez.
Coefficient d'expansion variable
La différence entre les guillemets simples et les guillemets doubles devient d'autant plus importante que vous utilisez des variables en ligne de commande. Par défaut, bash développera une variable telle que $ test dans la chaîne complète. Tout d’abord, nous assignerons la variable:
test='This is a test'
Maintenant, vous pouvez utiliser cette variable sur la ligne de commande, comme ceci, qui devrait simplement afficher C'est un test à la console:
echo $test
C’est là que la différence entre guillemets simples et simples devient plus claire: lorsque vous utilisez des guillemets simples, les variables ne seront pas développées. Par exemple, si vous exécutez cette commande:
echo '$test'
Vous ne verrez rien d'autre que "$ test" sur la ligne de commande lorsque vous utilisez des guillemets simples, mais le résultat sera correct lorsque vous utilisez des guillemets doubles:
La même chose fonctionne lorsque vous utilisez le caractère `pour développer une commande sur la ligne de commande. Par exemple, disons que vous vouliez utiliser le pwd commande depuis une autre commande - vous utiliseriez des backticks pour dire au shell de le développer:
echo `pwd`/test
Si vous vous trouviez dans votre dossier de départ, la sortie ressemblerait à ceci:
/home/geek/test
Supposons, par exemple, que vous vous trouviez dans un dossier comportant un espace dans le chemin et que vous souhaitiez utiliser la commande ln pour créer un lien symbolique vers un fichier du répertoire en cours. En général, vous devez spécifier le chemin complet lorsque vous utilisez la commande ln. Il est donc beaucoup plus facile d’utiliser `pwd` pour enregistrer le typage.
Regardez ce qui se passe lorsque vous essayez d'utiliser la commande sans inclure de guillemets:
ln –s `pwd`/test /home/geek/linkedname
ln –s '`pwd`/filename' /some/other/path
Pour un exemple plus concret, supposons que nous ayons une structure de dossiers comme celle-ci, où tous les noms de fichiers contiennent des espaces:
for f in *.zip;do unzip $f;done
Oops! On dirait que ça n’a pas marché.
for f in *.zip;do unzip '$f';done
Maintenant, chaque fois que la commande for parcourt la boucle, elle exécutera une commande comme celle-ci:
unzip 'test 1.zip'
Bien entendu, il exécuterait une commande similaire pour chaque fichier du répertoire.
Revoyons
Maintenant que nous avons parcouru les exemples, nous allons simplement passer en revue le cas échéant:
Double citation
- Utilisez cette option lorsque vous souhaitez inclure des variables ou utilisez une extension de shell à l'intérieur d'une chaîne.
- Tous les caractères à l'intérieur sont interprétés comme des caractères normaux à l'exception de $ ou `qui seront développés sur le shell.
Guillemets simples
Tous les caractères entre guillemets simples sont interprétés comme un caractère de chaîne.
Et termine ainsi la leçon des citations. Utilisez-les judicieusement.