GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bewirkt „set -f“ in der Korn-Shell?

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 aus a bis z , oder 1 oder 2 )
  • nicht übereinstimmende Listen (z. B. [^a-z] =jedes Zeichen, das nicht im Bereich a liegt bis z )
  • 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??

Linux
  1. Was macht „lc_all=c“?

  2. Was bedeutet „:-“ in einem Shell-Skript?

  3. Was bedeutet kaufmännisches Und am Ende einer Shell-Skriptzeile?

  4. Was bedeutet Echo $? Tun??

  5. Was bedeutet [email protected] in einem Shell-Skript?

Was ist die Shell unter Linux?

Was bedeutet es, „sh-kompatibel“ zu sein?

Was ist die Login-Shell in Linux?

Was ist eine .sh-Datei?

Kann jemand im Detail erklären, was set -m tut?

Was macht 'set -e' und warum könnte es als gefährlich angesehen werden?