GNU/Linux >> Znalost Linux >  >> Linux

Jak jsou závorky interpretovány na příkazovém řádku?

Při čtení informací o tom, jak nastavit grub , narazil jsem na článek, který tvrdí, že musím použít jednu z následujících dvou syntaxí,

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

nebo

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

protože na příkazovém řádku jsou závorky interpretovány zvláštním způsobem. Co je zvláštního na závorkách? Jak jsou interpretovány?

Přijatá odpověď:

Závorky označují subshell v bash. Abych citoval man bash stránka:

(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.

kde je list je jen normální posloupnost příkazů.

To je ve skutečnosti docela přenosné a není specifické pouze pro bash ačkoli. Specifikace POSIX Shell Command Language má pro (compound-list) následující popis syntaxe:

Spusťte seznam sloučenin v prostředí subshell; viz Prostředí spouštění prostředí. Přiřazení proměnných a vestavěné příkazy, které ovlivňují prostředí, nezůstanou po dokončení seznamu v platnosti.


Linux
  1. Jak vytvořit databázi v MySQL pomocí příkazového řádku

  2. Jak extrahovat soubor tar.gz v Linuxu pomocí příkazového řádku

  3. Jak odebrat uživatele v Linuxu pomocí příkazového řádku

  1. Jak nastavit proměnnou prostředí na příkazovém řádku a nechat ji zobrazit v příkazech?

  2. Jak získat počet souborů v adresáři pomocí příkazového řádku?

  3. Jak restartovat Icewm z příkazového řádku?

  1. Jak nainstalovat software z příkazového řádku Linuxu

  2. Jak je zástupný znak * interpretován jako příkaz?

  3. Jak získám svou IP adresu z příkazového řádku?