Im Buch „A guide to aix 3.2“ heißt es, dass man den Korn-Shell-Befehl set -f
verwenden kann „Dateinamengenerierung deaktivieren“, aber was bedeutet das?
Was passiert mit set -f
?
Akzeptierte Antwort:
set -f
ist die portable (d. h. POSIX) Möglichkeit, die Dateinamenerweiterung zu deaktivieren.
Wenn aktiviert (standardmäßig oder mit set +f
) ist die Dateinamenerweiterung eine von der Shell ausgeführte Operation, die, wenn möglich, Befehlszeilenargumente ersetzt, die Folgendes enthalten:
- Vorkommen von Wildcards (
?
=jedes einzelne Zeichen und*
=beliebig viele Zeichen) - Bereiche in eckigen Klammern (z. B.
[a-z12]
=beliebiges Zeichen ausa
bisz
, oder1
oder2
) - nicht übereinstimmende Listen (z. B.
[^a-z]
=jedes Zeichen, das nicht im Bereicha
liegt bisz
) - und Zeichenklassen (z. B.
[[:xdigit:]]
=jedes Zeichen, das zur Darstellung einer Hexadezimalzahl verwendet werden kann)
nach den Dateinamen, die ihnen entsprechen.
Wenn deaktiviert, bleiben diese Argumente unverändert.
$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??