Frage 102-3

Mit welchem Kommando können Sie sich alle selbstdefinierten Funktionen in der bash anzeigen lassen?

  1. alias

  2. function

  3. set

  4. env

  5. defined

LPI-Lernziel Die Shell-Umgebung anpassen und verwenden (105.1)

Das Kommando alias (Antwort 1) gibt eine Liste der in der aufgerufenen Shell definierten Aliase aus und hat nichts mit Funktionen zu tun.

Mit dem Kommando function (Antwort 2) kann eine neue Funktion definiert werden, was hier nicht gefragt war, aber es hilft nicht bei der Anzeige der definierten Funktionen.

Der Befehl env (Antwort 3) dient dazu, ein Programm in einer veränderten Umgebung laufen zu lassen. Wird env ohne weitere Argumente ausgegeben, liefert es die aktuellen Umgebungsvariablen der Shell (aber siehe unten).

defined (Antwort 5) ist eine Erfindung des Fragenautors.

Richtig ist set (Antwort 4). Dieses Kommando gibt, ohne Argumente aufgerufen, alle definierten Variablen und Funktionen aus.

Mit set -a können Sie übrigens dafür sorgen, dass neu definierte Funktionen in die Umgebung exportiert werden (wo später gestartete Subshells sie finden können). In diesem Fall zeigt auch env solche Funktionen an, aber eben nur diejenigen, die nach dem set -a definiert wurden.

2 Kommentare · Kommentar hinzufügen · RSS

Fehler in Erklaerung

Michael (Gast) · 9. Dezember 2009, 15:40

Richtig ist set (Antwort 4). Dieses >Kommando gibt, ohne Argumente >aufgerufen, alle definierten Variablen >und Funktionen aus.

Antwort 3 und 4 wurden in der Erlaerung vertauscht.

Richtig ist set (Antwort 3) .....

Nicht ganz korrekte Antwort

Peter Kluge (eingetragen) · 24. März 2010, 11:08

Hallo Anselm,

sobald die bash POSIX-konform (set -o posix bzw. sh) läuft, werden die Funktionen bei set nicht mehr mit angezeigt.

Richtiger wäre hier:

typeset -f

gruß

Peter

Wichtig

LPI-Logo

Die LPI Academy ist keine offizielle Webseite des LPI!

Sponsor

Linup-Front-Logo

Die LPI Academy wird für die Community unterstützt von der Linup Front GmbH

A Django Site

Diese Seite

Version: 0 (Anselm)
22.8.2009 12:04:16

Benutzer

Nicht angemeldet

Kommentare

RSS