GNU/Linux >> Tutoriels Linux >  >> Linux

Enveloppant Vs. Ne pas mettre la valeur d'une variable entre guillemets dans Bash ?

Cette question a déjà des réponses ici :Quand les guillemets doubles sont-ils nécessaires ?

(1 réponse)
Pourquoi mon script shell s'étouffe-t-il avec des espaces ou d'autres caractères spéciaux ?

(6 réponses)
Fermé il y a 3 ans.

Quand je fais quelque chose comme ça :

x="hi echo hello"

ou

x='hi echo hello'

Alors x contiendra la chaîne hi echo hello .

Mais quand je n'utilise pas de guillemets :

x=hi echo hello

Alors x contiendra la chaîne hi , et la commande echo hello sera exécuté.

Mais qu'en est-il lorsque la valeur d'une variable ne se compose que d'un seul mot, y a-t-il une différence entre les éléments suivants :

x="hi"
x='hi'
x=hi

Réponse acceptée :

Uniquement si le monde contient des substitutions.

Alors

x=$FRED

est différent de :

x='$FRED'

Linux
  1. Quand les guillemets doubles sont-ils nécessaires ?

  2. Caractères génériques à l'intérieur des guillemets ?

  3. Pourquoi le shell Bash ne vous avertit-il pas d'un débordement arithmétique, etc. ?

  4. Bash Echo La ligne de commande exécutée sur la ligne de commande elle-même (pas dans un script) ?

  5. .bash_profile n'est pas fourni lors de l'exécution de Su ?

Arrondir un nombre divisé en Bash

Tableau dans Bash introuvable

Instruction Bash/sh 'if else'

bash sh - commande introuvable

La valeur de hachage MD5 est différente de Bash et PHP

Quand ne dois-je pas tuer -9 un processus ?