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 za
doz
, nebo1
nebo2
) - neodpovídající seznamy (např.
[^a-z]
=jakýkoli znak mimo rozsaha
doz
) - 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??