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

So verwenden Sie den Declare-Befehl in der Linux Bash Shell

In diesem Artikel werden wir uns ansehen, was die Verwendung von declare ist Befehl in Bash und wie man ihn benutzt. Eine Erklärung ist ein in Bash integrierter Befehl, der typähnliches Verhalten für Ihre Skripts bereitstellt.

Wenn Sie bereits Erfahrung in einer Programmiersprache wie Java haben , C Sie wissen vielleicht, was ein Systemtyp ist. Leider bash hat kein starkes Typensystem. Mit erklären Befehl können Sie typähnliches Verhalten erhalten und Attribute für Ihre Variablen festlegen.

$ type -a declare

declare is a shell builtin

Wir werden einige der nützlichen Funktionen durchgehen erklären bietet an. Ein guter Ausgangspunkt, um sich mit declare vertraut zu machen entweder über den Hilfebefehl oder die Bash-Manpage.

$ help declare

declare: declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]
    Set variable values and attributes.
    
    Declare variables and give them attributes.  If no NAMEs are given,
    display the attributes and values of all variables.
    
    Options:
      -f	restrict action or display to function names and definitions
      -F	restrict the display to function names only (plus line number and
    		source file when debugging)
      -g	create global variables when used in a shell function; otherwise
    		ignored
      -I	if creating a local variable, inherit the attributes and value
    		of a variable with the same name at a previous scope
      -p	display the attributes and value of each NAME
...

So deklarieren Sie ganze Zahlentypen

Um eine Variable vom Typ Integer zu deklarieren, verwenden Sie -i Flagge. Wenn Sie sich das folgende Beispiel ansehen, sehen Sie, dass die Variable age als Integer-Typ deklariert ist. Wenn Sie versuchen, Werte eines anderen Typs (Strings ) erwarten Sie möglicherweise eine Fehlermeldung mit der Aufschrift „Nicht der richtige Typ “, aber hier wird die Fehlervariable anstelle des Auslösens als Null (0) zugewiesen ). Ja, das ist ein seltsames Verhalten und nicht das, was man erwartet.

$ declare -i num=10
$ echo $num
$ num=string     # Reassigning Interger type with string
$ echo $num      ⇒ Zero will be the output

So deklarieren Sie schreibgeschützte Variablen

Schreibgeschützt – Dies ist ein Programmierbegriff, der bedeutet, dass einer Variablen ein Wert zugewiesen wird und weder vom Programmierer noch von der Maschine geändert werden kann. Sie bleibt während des gesamten Lebenszyklus des Programms gleich.

Um Ihre Variable konstant zu machen (schreibgeschützt ) verwenden Sie das -r Flagge.

$ declare -r num=10
$ num=11
-bash: no: readonly variable

Eine alternative Methode, um eine Variable schreibgeschützt zu machen, ist die Verwendung von readonly Schlüsselwort.

$ readonly os=ubuntu
$ os=arch
-bash: os: readonly variable

Umwandlung von Klein- und Großbuchstaben in Linux

Wenn Sie eine Variable der Bash zuweisen, können Sie sie mit dem -l von Klein- auf Großbuchstaben und umgekehrt umwandeln (Kleinbuchstaben) und -u (Großbuchstaben) Flag.

$ declare -l name="LINUX"
$ declare -u name1="linux"
$ echo $name $name1

Wie deklariert man ein indiziertes/assoziatives Array

Bash unterstützt zwei Arten von Arrays. Indiziert Arrays und assoziativ Reihe. Verwenden Sie zum Deklarieren von Arrays -a (indiziertes Array) und -A (assoziatives Array) Flag. Sie können ein indiziertes Array erstellen, ohne declare zu verwenden Befehl, aber um ein assoziatives Array zu erstellen, müssen Sie den Befehl "declare" mit -A verwenden Flagge.

$ declare -a os_name=(Ubuntu Mint Kubuntu lubuntu Debian)
$ echo ${os_name[@]}
$ declare -A os_family
$ os_family["Redhat"]="Fedora"
$ os_family["Arch"]="Manjaro"
$ os_family["Debian"]="Ubuntu"
$ echo ${os_family[@]}

Variablen in Subshells exportieren

Wenn Sie etwas Erfahrung mit Bash haben, haben Sie vielleicht Leute gesehen, die den export-Befehl verwenden, um deklarierte Variablen in Subshells in ihren Skript- oder Shell-Sitzungen zu exportieren. Wir können das mit declare tun Befehl auch.

Zum Exportieren sollten Sie den -x verwenden Flag und +x Flag entfernt das Attribut aus dem Export.

$ declare -x name=ShellTips
$ sh -c “echo $name”

Überprüfen Sie, ob Attribute definiert sind oder nicht

Wir können prüfen, ob ein Attribut (Variable ) wird mit -p definiert oder nicht Flagge.

# Defining a variable
$ a=10;b=20;c=30
 
# Check if a variable is defined or not
$ declare -p a    # single variable check
declare -- a="10"
 
$ declare -p a b c   # check multiple variables
declare -- a="10"
declare -- b="20"
declare -- c="30"

Sie sehen zwei Bindestriche -- nach dem Deklarieren des Schlüsselworts. Dies dient dazu, den Typ der Variablen anzuzeigen, z. B. declare -a (Array), deklariere -n (Nameref). Wenn nichts deklariert ist, wird nur -- angezeigt .

$ declare -a Iarray
$ declare -A arrray
$ declare -p Iarray Asarray

declare -a Iarray
declare -A Asarray

Wenn Sie versuchen, eine nicht deklarierte Variable zu finden, wird der folgende Fehler ausgegeben.

$ declare -p Iarray1
-bash: declare: Iarray1: not found

Überprüfen der Funktionsdefinition

Sie können das -F verwenden und -f Flag, um zu sehen, ob die Funktion deklariert ist, und Funktionsdefinition. Ich erstelle eine einfache Hallo-Welt-Funktion.

$ function hello_world(){ echo "Linux Geeks"; }
$ declare -F

Um die Funktionsdefinition zu erhalten, können Sie das -f verwenden Flagge. Wenn kein Funktionsname übergeben wird, werden alle geladenen Funktionen gedruckt und Sie können Ihre Funktionsdefinition aus der Liste abrufen.

$ declare -f hello_world
$ declare -f

Das war es für diesen Artikel. Wir werden sehr bald mit einem weiteren interessanten Artikel anfangen.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Uptime-Befehl in Ubuntu Linux

  4. So konfigurieren Sie eine eingeschränkte Bash-Shell unter Linux

  5. So verwenden Sie Shell-Aliase unter Linux

So verwenden Sie den Datumsbefehl in Bash-Skripten unter Linux

So verwenden Sie den Echo-Befehl in Bash-Skripten unter Linux

So verwenden Sie den Befehl sysctl unter Linux

So verwenden Sie den Befehl zum Herunterfahren von Linux

So verwenden Sie grep unter Linux

Wie verwende ich die Linux-Bash-Shell in Windows 10?