Portál AbcLinuxu, 13. května 2025 04:04
Ř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.