Was sind Bash-Pakete?

8

Der Google Bash Style Guide erwähnt Bash-Pakete, bei denen der Paketname durch Doppelpunkte vom Funktionsnamen getrennt werden sollte

Wenn Sie einzelne Funktionen schreiben, verwenden Sie Kleinbuchstaben und separate Wörter mit Unterstrich. Wenn Sie ein Paket schreiben, trennen Sie die Paketnamen mit ::. Klammern müssen sich in derselben Zeile wie der Funktionsname befinden (wie bei anderen Sprachen bei Google) und dürfen zwischen dem Funktionsnamen und der Klammer kein Leerzeichen enthalten.

# Single function
my_func() {
  ...
}

# Part of a package
mypackage::my_func() {
  ...
}

Ich habe gegoogelt, aber keine Verweise auf Bash-Pakete gefunden, außer auf den Lightweight Bash Package Manager . Beziehen sie sich darauf?

RonJohn
quelle
Sieht aus wie eine andere Möglichkeit, "Namespaces" einzuführen.
Kusalananda

Antworten:

6

Ich glaube nicht, dass Bash eine integrierte Unterstützung für Pakete hat, wie es "echte" Programmiersprachen tun. Es ist wahrscheinlich nur eine Namenskonvention, die verwendet wird, um Namespaces zum Zwecke der Codeorganisation nachzuahmen . Weitere Informationen finden Sie im folgenden Beitrag:

Ich kann mir vorstellen, dass es von der Syntax inspiriert wurde, die für Perl-Module verwendet wurde .

igal
quelle
1
Als ob Sie eine Reihe von Funktionen in mylib.shalle einfügen, denen ein Präfix vorangestellt ist, mylib::und diese Datei dann oben in Ihren "Endbenutzer" -Skripten als Quelle angeben. IOW, selbst gerollte Namespaces?
RonJohn
@ RonJohn Ja, das ist mein Take-Away.
igal