GNU/Linux >> Znalost Linux >  >> Linux

Co znamená [email protected] ve skriptu shellu?

$* expanduje na všechny parametry, které byly předány tomuto skriptu shellu.

$0 =název skriptu shell

$1 =první argument

$2 =druhý argument...atd

$# =počet argumentů předaných do shellscript


Je snadné najít odpověď sami:man bash/\$\* :

Speciální parametry

Shell zachází s několika parametry speciálně. Na tyto parametry lze pouze odkazovat; přiřazení k nim není povoleno.

  • Rozšíří se na poziční parametry počínaje jedničkou. Když se rozbalení objeví v uvozovkách, rozvine se na jedno slovo s hodnotou každého parametru oddělenou prvním znakem IFS speciální proměnná. To znamená "$*" je ekvivalentní "$1c$2c..." , kde c je první znak hodnoty IFS variabilní. Pokud IFS není nastaven, parametry jsou odděleny mezerami. Pokud IFS je null, parametry jsou spojeny bez zasahujících oddělovačů.

Znamená to všechny argumenty předané skriptu nebo funkci, rozdělené podle slov.

Obvykle je chybný a měl by být nahrazen "[email protected]" , který správně odděluje argumenty.


Linux
  1. Co znamená `:-` ve skriptu Shell?

  2. Co znamená Ampersand na konci řádku skriptu Shell?

  3. Co znamenají symboly zobrazené pomocí Ls -f?

  1. Gnu Parted Změna velikosti části ve skriptu?

  2. Co znamená „rm is hash“?

  3. Co znamená ${1+“[email protected]”} ve skriptu Shell a jak se liší od „[email protected]“?

  1. Co znamená set -e ve skriptu bash?

  2. Co znamená syntaxe |&v jazyce shellu?

  3. Co to znamená #define X X?