Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Problem s bash a premennov  (Přečteno 1283 krát)

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Problem s bash a premennov
« kdy: 30 Srpna 2010, 11:32:03 »
Zdravim kazdeho, narazil som na mensi problem pri 1 skripte a to takyto:

cat rn.txt | grep H$hour | cut -d ';' -f2 - mi vrati to co potrebujem a vykonaju sa vsetky prikazi

rn1=$(cat rn.txt | grep H$hour | cut -d ';' -f2) - toto sa chova tak ze sa mi nevykona prikaz grep.

Viete niekto cim to je?

Skript:
Kód: [Vybrat]
#! /bin/bash

rn ()
{
date="/bin/date"
hour=$(${date} "+%H")
}
rn1=$(cat rn.txt | grep H$hour | cut -d ';' -f2)
rn2=$(cat rn.txt | grep H$hour | cut -d ';' -f3)

rn
echo $rn1
echo $rn2
echo $hour
cat rn.txt | grep H$hour | cut -d ';' -f2

rn.txt:

Kód: [Vybrat]
H00;1200;900
H01;3600;3590
H02;3600;3590
H03;3600;3590
H04;2600;1590
H05;1000;600
H06;170;90
H07;130;45
H08;60;25
H09;42;16
H10;35;12
H11;30;9
H12;25;5
H13;30;8
H14;40;12
H15;50;15
H16;60;18
H17;70;22
H18;80;27
H19;90;30
H20;100;38
H21;200;95
H22;250;110
H23;300;150

Kedrigern

Re: Problem s bash a premennov
« Odpověď #1 kdy: 30 Srpna 2010, 11:49:21 »
Problém bude s proměnou v subshellu.

Mě funguje obojí (po letmém zkoušení).

grep rozhodně doporučuji upravit na:
Kód: [Vybrat]
grep "H${hour}"
Jdu dál zkoušet pár věcí.

EDIT: Aha, koukal jsem jen na tu konstrukci. Chyba je jinde. Používáš $hour dříve než jí definuješ, jelikož funkci rn vykonáváš až později. S funkcemi jsem v bashy nikdy moc nepracoval, čili detaily nevím.
« Poslední změna: 30 Srpna 2010, 12:00:22 od Kedrigern »

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: Problem s bash a premennov
« Odpověď #2 kdy: 30 Srpna 2010, 13:32:23 »
Dik za odpoved, asi mi to dnes nemysli  ;D

 

Provoz zaštiťuje spolek OpenAlt.