GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkaz Declare v Linux Bash Shell

V tomto článku se podíváme na to, k čemu slouží deklarace příkaz v bash a jak jej používat. Prohlásit je vestavěný příkaz bash, který poskytuje vašim skriptům chování podobné typu.

Pokud máte nějaké předchozí zkušenosti s jakýmkoli programovacím jazykem, jako je Java , C možná víte, co je to typ systému. Bohužel bash nemá silný typový systém. Pomocí deklarovat můžete získat chování podobné typu a můžete nastavit atributy pro vaše proměnné.

$ type -a declare

declare is a shell builtin

Projdeme si některé užitečné funkce deklarovat nabídky. Dobré místo, kde začít a seznámit se s deklarací je buď pomocí příkazu help nebo manpage bash.

$ 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
...

Jak deklarovat typ celých čísel

Pro deklaraci proměnné typu integer použijte -i vlajka. Pokud se podíváte na níže uvedený příklad, můžete vidět, že proměnná stáří je deklarována jako celočíselný typ. Když se pokusíte přiřadit hodnoty jiného typu (řetězce ) můžete očekávat, že vrátí chybu „Není správný typ ” ale zde místo vyvolání bude chybová proměnná přiřazena jako nula (0 ). Ano, toto je zvláštní chování a není to takové, jaké by člověk očekával.

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

Jak deklarovat proměnné pouze pro čtení

Pouze pro čtení – Toto je programovací termín, který znamená, že proměnné je přiřazena hodnota a nikdy ji nemůže změnit programátor ani stroj. Zůstává stejné po celou dobu životního cyklu programu.

Aby byla vaše proměnná konstantní (pouze pro čtení ) použijte -r vlajka.

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

Alternativní metodou, jak vytvořit proměnnou pouze pro čtení, je použití pouze pro čtení klíčové slovo.

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

Převod malých a velkých písmen v systému Linux

Při přiřazování proměnné bash ji můžete převést z malých na velká písmena a naopak pomocí -l (malá písmena) a -u příznak (velká písmena).

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

Jak deklarovat indexované / asociativní pole

Bash podporuje dva typy polí. Indexováno pole a asociativní pole. K deklaraci polí použijte -a (Indexované pole) a -A (asociativní pole) příznak. Indexované pole můžete vytvořit bez použití deklarace ale k vytvoření asociativního pole musíte použít příkaz deklarovat s -A vlajka.

$ 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[@]}

Export proměnných do podsložek

Pokud máte nějaké zkušenosti s bash, mohli jste nebo viděli lidi, kteří používají příkaz export k exportu deklarovaných proměnných do subshellů v jejich relacích skriptu nebo shellu. Můžeme to udělat pomocí deklarovat také příkaz.

Pro export byste měli použít -x příznak a +x flag odstraní atribut z exportu.

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

Zkontrolujte, zda jsou atributy definovány nebo ne

Můžeme zkontrolovat, zda atribut (proměnná ) je nebo není definován pomocí -p vlajka.

# 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"

Uvidíte dvě pomlčky -- po deklaraci klíčového slova. Slouží k zobrazení typu proměnné jako declare -a (pole), deklarujte -n (názevref). Pokud není nic deklarováno, zobrazí se pouze -- .

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

declare -a Iarray
declare -A Asarray

Pokud se pokusíte najít nedeklarovanou proměnnou, bude vyvolána následující chyba.

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

Jak zkontrolovat definici funkce

Můžete použít -F a -f flag, abyste viděli, zda je funkce deklarována, a definici funkce. Vytvářím jednoduchou funkci hello world.

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

Chcete-li získat definici funkce, můžete použít -f vlajka. Pokud nezadáte žádné jméno funkce, vytisknou se všechny načtené funkce a ze seznamu můžete získat svou definici funkce.

$ declare -f hello_world
$ declare -f

To je pro tento článek vše. Brzy se dočkáme dalšího zajímavého článku.


Linux
  1. Jak používat Linuxový příkaz grep

  2. Jak používat příkaz historie v Linuxu

  3. Jak používat příkaz Uptime v Ubuntu Linux

  1. Jak používat šifrované heslo ve skriptu Linux Bash Shell

  2. Jak používat aliasy shellu v Linuxu

  3. Jak používat funkce shellu příkazového řádku v Linuxu

  1. Jak používat Su Command v Linuxu

  2. Jak používat Linux Screen Command

  3. Jak nakonfigurovat omezený Bash Shell v Linuxu