GNU/Linux >> Znalost Linux >  >> Linux

Co znamená `:-` ve skriptu Shell?

Tato otázka zde již má odpověď :Jak se vyhodnocují proměnné ve složených závorkách

(1 odpověď)
Uzavřeno před 4 lety.

Viděl jsem to na konci úžasného skriptu shellu, ale nerozumím zdejšímu přihlášení, protože si myslím, že je to zkratka pro delší příkaz.

spark ${@:-`cat`}

Toto se objeví na konci tohoto skriptu. Nějaké nápady?

+ Známky pro někoho, kdo to rozšíří na celý segment kódu, i když je pomalejší (Lepší pro vysvětlení)

Přijatá odpověď:

Je to první speciální případ substituce parametrů v man bash :

${parameter:-word}
Použít výchozí hodnoty. Pokud parameter je nenastaveno nebo null, rozšíření word je nahrazeno. Jinak hodnota parameter je nahrazeno.

V případě, který jste zmínil, buď uživatel zadal argumenty na příkazovém řádku a ty budou použity, nebo je uživatel následně požádán, aby je zadal na standardním vstupu.


Linux
  1. Co toto varování znamená?

  2. Co znamená [email protected] ve skriptu shellu?

  3. Co se stane, když [[ $? -ne 0]]; znamená v .ksh

  1. Co znamená „–“ (dvojitá pomlčka)?

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

  3. Co to znamená #define X X?

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

  2. Co znamená „rm is hash“?

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