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

Welches ist das Standardpaket, getopt oder getopts (mit einem s)?

which ist das falsche Werkzeug. getopts ist normalerweise auch eingebaut:

Seit getopts Auswirkungen auf die aktuelle Shell-Ausführungsumgebung haben, wird es im Allgemeinen als Shell-Regular-Built-In bereitgestellt.

~ for sh in dash ksh bash zsh; do "$sh" -c 'printf "%s in %s\n" "$(type getopts)" "$0"'; done
getopts is a shell builtin in dash
getopts is a shell builtin in ksh
getopts is a shell builtin in bash
getopts is a shell builtin in zsh

Wenn Sie ein Shell-Skript verwenden, können Sie sich getrost auf getopts verlassen . Es mag andere Gründe geben, das eine oder andere zu bevorzugen, aber getopts ist Standard .

Siehe auch:Warum nicht "what" verwenden? Was dann verwenden?


Ich würde getopts auch bevorzugen über getopt aus folgenden Gründen:

getopt Nachteile

  1. Externes Dienstprogramm
  2. Kann keine leere Argumentzeichenfolge oder Argumente mit eingebetteten Leerzeichen in der traditionellen Version verarbeiten

getopts Vorteile

  1. Funktioniert in jeder POSIX-Shell und ist portabel
  2. Funktioniert gut mit -a -b sowie -ab

Linux
  1. Rechnen Sie in der Linux-Shell mit GNU bc

  2. Navigieren in der Bash-Shell mit pushd und popd

  3. Linux-Grundlagen:So laden Sie Dateien auf der Shell mit Wget herunter

  4. Welches sind die speziellen Parameter/Variablen der (Bash-)Shell?

  5. Wie benenne ich Dateien mit Leerzeichen mit der Linux-Shell um?

So fragen Sie Paketinformationen mit dem RPM-Paketmanager ab

Verwendung des RPM-Befehls (mit Beispielen)

Was ist die Shell unter Linux?

So entfernen Sie alle Pakete mit DNF, von denen kein anderes Paket abhängt

Welche Signalnummern funktionieren mit dem Kill-Befehl?

Klarstellung bezüglich des Verhaltens von Shell-Skript zusammen mit Pipe