Portál AbcLinuxu, 13. května 2024 19:02


Dotaz: Bash ${

28.4.2010 10:42 StenFil
Bash ${
Přečteno: 395×
Odpovědět | Admin
Zdravim,

ma nejaky smysl v nasledujicim zapisu psat v bash promennych {}



TARGET="adresar"



if [ -d /opt/$TARGET ]

if [ -d /opt/$TARGET/aaa ]

vs.

if [ -d /opt/${TARGET} ]

if [ -d /opt/${TARGET}/aaa/ ]



diky.


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.4.2010 11:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Bash ${
Odpovědět | | Sbalit | Link | Blokovat | Admin
Si pište! :):
Zkuste si třeba pole, nebo další věcičky. Tady jsem něco vkopiroval, kde {} je nutností
DISKINFO=(`df -h | grep -P -o "[0-9]+%.*"`)
P_COUNTER=0
P_MAX=${#DISKINFO[*]}
P_RES="";
while [ $P_COUNTER -lt $P_MAX ]; do
  P_LINE=${DISKINFO[$P_COUNTER]}
  P_PRC="${P_LINE%\%*}"
  P_NAME=${P_LINE#* }
  …
Ale stačí naprostá trivialita:
VAR="ka"
echo "Ku$VARcka"
vs. fungující:
VAR="ka"
echo "Ku${VAR}cka"
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
28.4.2010 11:22 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: Bash ${
Nicméně v konkrétních příkladech uvedených tazatelem ty složené závorky opravdu nutné nejsou, protože název proměnné nemůže obsahovat lomítko ani mezeru.
28.4.2010 11:54 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Bash ${
Je to tak, ale už bude stačit jen skládání jména třeba:
TARGET="adresar"
DIRNAME="AAA"
NOW=`date '+%F'`

if [ -d "/opt/${NOW}${TARGET}" ]
Je třeba si zvážit sám jestli to psát vždy, nebo jen když je to třeba :).

V autorem uváděné spíše schází něco jiného a to jsou „uvozovky“ :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
28.4.2010 12:44 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Bash ${
V autorem uváděné spíše schází něco jiného a to jsou „uvozovky“
Vo vseobecnocti ano, ale s uvodzovkami je to drobatko komplikovanejsie. Suhlasim s tym, ze je dobry zvyk pouzivat ich, je treba vediet, kedy ich nepouzit. :-)
28.4.2010 11:30 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Bash ${
Odpovědět | | Sbalit | Link | Blokovat | Admin
V tychto zrovna nie, v komplikovanejsich ano. Osobne povazujem jednoducho za dobry zvyk pisat to poriadne, t.j. vratane kuceravych zatvoriek.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.