GNU/Linux >> Znalost Linux >  >> Linux

Co dělá „set -f“ v Korn Shell?

V knize „A guide to aix 3.2“ se říká, že lze použít příkaz Korn Shell set -f "zakázat generování souborů", ale co to znamená?

Co se stane s set -f ?

Přijatá odpověď:

set -f je přenosný (tj. POSIX) způsob, jak zakázat rozšiřování názvu souboru.

Když je povoleno (ve výchozím nastavení nebo s set +f ), rozšiřování názvu souboru je operace prováděná shellem, která nahrazuje, je-li to možné, argumenty příkazového řádku obsahující:

  • výskyty zástupných znaků (? =libovolný jednotlivý znak a * =libovolný počet znaků)
  • rozsahy uzavřené v hranatých závorkách (např. [a-z12] =libovolný znak z a do z , nebo 1 nebo 2 )
  • neodpovídající seznamy (např. [^a-z] =jakýkoli znak mimo rozsah a do z )
  • a třídy znaků (např. [[:xdigit:]] =jakýkoli znak, který lze použít k vyjádření hexadecimálního čísla)

podle názvů souborů, které jim odpovídají.

Když je zakázáno, tyto argumenty zůstanou nezměněny.

$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??

Linux
  1. Co dělá „lc_all=c“?

  2. Co znamená `:-` ve skriptu Shell?

  3. Co dělá ?

  1. Co dělá Exec 3?

  2. Co přesně dělá Grub_gfxpayload_linux=text?

  3. Co znamená [email protected] ve skriptu shellu?

  1. Co znamená Ampersand na konci řádku skriptu Shell?

  2. Co dělá % v řetězcích shellu Linux?

  3. Co dělá zabít -- -0?