GNU/Linux >> Tutoriels Linux >  >> Linux

Comment les parenthèses sont-elles interprétées sur la ligne de commande ?

En lisant comment configurer grub , je suis tombé sur un article affirmant que je devais utiliser l'une des deux syntaxes suivantes,

echo \(hd0,0\) >> /boot/grub/grub.conf

ou

echo '(hd0,0)' >> /boot/grub/grub.conf

car, en ligne de commande, les parenthèses sont interprétées d'une manière particulière. Quelle est la particularité des parenthèses ? Comment sont-ils interprétés ?

Réponse acceptée :

Les parenthèses indiquent un sous-shell dans bash. Pour citer le man bash page :

(list)    list  is  executed  in  a  subshell  environment (see COMMAND
          EXECUTION ENVIRONMENT below).  Variable assignments and builtin 
          commands that affect the shell's environment do not remain in 
          effect after the command completes.  The return status is the
          exit status of list.

où une list est juste une séquence normale de commandes.

C'est en fait assez portable et pas spécifique à bash mais. La spécification POSIX Shell Command Language a la description suivante pour le (compound-list) syntaxe :

Exécuter compound-list dans un environnement de sous-shell ; voir Environnement d'exécution du shell. Les affectations de variables et les commandes intégrées qui affectent l'environnement ne resteront pas en vigueur après la fin de la liste.


Linux
  1. Comment créer une base de données dans MySQL à l'aide de la ligne de commande

  2. Comment extraire le fichier tar.gz sous Linux à l'aide de la ligne de commande

  3. Comment supprimer un utilisateur sous Linux à l'aide de la ligne de commande

  4. Comment rechercher des fichiers dans CentOS 8 sur la ligne de commande

  5. Comment envoyer un e-mail à partir de la ligne de commande ?

Comment nettoyer vos données dans la ligne de commande

'Getting to Done' sur la ligne de commande Linux

Comment utiliser Nano, l'éditeur de texte en ligne de commande Linux

Comment redémarrer Debian en utilisant la ligne de commande

Comment trouver des fichiers sur la ligne de commande Ubuntu

Comment puis-je obtenir mon adresse IP à partir de la ligne de commande ?