GNU/Linux >> Znalost Linux >  >> Linux

Jak číst argumenty příkazového řádku ve skriptech Shell?

Čtení uživatelského vstupu je jednou částí rovnice. V dnešním článku se naučíme číst argumenty příkazového řádku ve skriptech shellu. Shell skripty jsou základním nástrojem pro každého uživatele Linuxu. Hrají hlavní roli při automatizaci každodenních úkolů a vytváření vlastních příkazů nebo maker.

Tyto skripty shellu mohou přijímat vstup od uživatele ve formě argumentů.

Když předáme argumenty skriptu shellu, můžeme je použít pro lokální sekvenování skriptu. Tyto argumenty můžeme použít k získání výstupů a dokonce výstupy upravit stejně jako proměnné ve skriptech shellu.

Co jsou argumenty příkazového řádku?

Argumenty příkazového řádku jsou parametry, které jsou předány skriptu při jeho provádění v bash shellu.

V Linuxu jsou také známé jako poziční parametry.

Argumenty příkazového řádku používáme k označení pozice v paměti, kde je uložen příkaz a jeho přidružené parametry. Pochopení argumentů příkazového řádku je nezbytné pro lidi, kteří se učí skriptování v shellu.

V tomto článku si projdeme koncept argumentů příkazového řádku spolu s jejich použitím ve skriptu shellu.

Jak skripty Shell rozumějí argumentům příkazového řádku

Argumenty příkazového řádku pomáhají, aby byly skripty shellu pro uživatele interaktivní. Pomáhají skriptu identifikovat data, se kterými musí pracovat. Proto jsou argumenty příkazového řádku nezbytnou součástí jakéhokoli praktického použití skriptování v shellu.

Shell bash má speciální proměnné vyhrazené k tomu, aby ukazovaly na argumenty, které předáváme skriptem shellu. Bash ukládá tyto proměnné numericky ($1, $2, $3, … $n)

Zde je první argument příkazového řádku v našem shell skriptu $1, druhý $2 a třetí $3. Toto pokračuje až do 9. argumentu. Proměnná $0 ukládá název skriptu nebo samotného příkazu.

Máme také některé speciální znaky, které jsou pozičními parametry, ale jejich funkce je úzce svázána s našimi argumenty příkazového řádku.

Speciální znak $# ukládá celkový počet argumentů. Máme také $@ a $* jako zástupné znaky, které se používají k označení všech argumentů. K nalezení ID procesu aktuálního shell skriptu používáme $$, zatímco $? lze použít k vytištění výstupního kódu pro náš skript.

Přečtěte si argumenty příkazového řádku ve skriptech Shell

Nyní jsme pochopili argumenty příkazového řádku v Linuxu. Nyní je čas využít tyto znalosti pro praktickou aplikaci příkazu netstat.

V tomto tutoriálu si projdeme příklad, abychom se naučili, jak používat argumenty příkazového řádku ve skriptu shellu.

Nejprve vytvoříme skript shellu, který demonstruje fungování všech rezervovaných proměnných, o kterých jsme hovořili v předchozí části. Použijte nano nebo jakýkoli preferovaný editor podle vašeho výběru a zkopírujte následující.

Toto je shell skript, který plánujeme použít pro tento účel.

#!/bin/sh
echo "Script Name: $0"
echo "First Parameter of the script is $1"
echo "The second Parameter is $2"
echo "The complete list of arguments is $@"
echo "Total Number of Parameters: $#"
echo "The process ID is $$"
echo "Exit code for the script: $?"

Jakmile budeme hotovi, uložíme skript jako PositionalParameters.sh a ukončíme náš textový editor.

Nyní otevřeme příkazový řádek v našem systému a spustíme skript shellu s následujícími argumenty.

./PositionalParameters.sh learning command line arguments

Skript poběží s našimi zadanými argumenty a ke generování výstupu použije poziční parametry. Pokud jste postupovali podle kroku správně, měla by se zobrazit následující obrazovka.

Náš výstup ukazuje správný výstup nahrazením rezervovaných proměnných příslušným argumentem, když jsme jej volali.

Proces byl spuštěn pod ID procesu 14974 a skončil s kódem ukončení 0.

Koneckonců

Schopnost číst argumenty příkazového řádku ve skriptech shellu je základní dovedností, protože vám umožňuje vytvářet skripty, které mohou přebírat vstup od uživatele a generovat výstup na základě logické cesty.

S pomocí argumentů příkazového řádku mohou vaše skripty výrazně zjednodušit opakující se úkoly, se kterými se možná budete muset denně potýkat, vytvořit si vlastní příkazy a přitom vám ušetřit čas i námahu.

Doufáme, že vám tento článek pomohl pochopit, jak číst argumenty příkazového řádku ve skriptu shellu. Pokud máte nějaké připomínky, dotazy nebo návrhy, neváhejte se na nás obrátit v komentářích níže.


Linux
  1. Nagios:Jak povolit argumenty příkazového řádku check_nrpe

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

  3. Parametry příkazového řádku ve skriptech shellu

  1. Jak používat vstupy ve skriptech shellu

  2. Jak zopakovat nový řádek ve skriptech Bash Shell

  3. Jak mohu správně spouštět skripty příkazového řádku Perl one-liner?

  1. Jak předat argument příkazového řádku do skriptu Shell?

  2. Jak zacházet s přepínači ve skriptu Shell?

  3. Jak se analyzují argumenty vzdáleného příkazového řádku Ssh?