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 ausabisz, oder1oder2) - nicht übereinstimmende Listen (z. B.
[^a-z]=jedes Zeichen, das nicht im Bereichaliegt 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??