Portál AbcLinuxu, 2. listopadu 2025 04:50
Řešení dotazu:
#!/bin/bash
echo ${parametr:-value}
parametr="ABCD"
echo ${parametr:-value}(prvé echo by malo vypísať "value" pretože premenná parametr nie je nastavená, druhé by malo vypísať "ABCD")
prom="$(whoami)"
nazev=$1
${nazev:-dir$prom.list}
ls -t > $nazev.txt
${…} vrací výslednou hodnotu, takže v tomhle případě se bash pokouší výsledek spustit jako program. Správně to má být takhle:
prom="$(whoami)"
nazev=$1
ls -t > ${nazev:-dir$prom.list}.txt
${parameter:=hodnota}, která v případě nenastaveného/prázdného parametr tu defaultní hodnotu i rovnou přiřadí, takže v dalších použitích stačí $parametr. Ale pořád je samozřejmě výsledkem expanse ta hodnota, přiřazení je vedlejší efekt.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.