Nowe posty

Autor Wątek: zmienne a wiadomosc e-mail ..  (Przeczytany 4022 razy)

xox

  • Gość
zmienne a wiadomosc e-mail ..
« dnia: 2008-05-30, 20:54:16 »
Witam mam nastepujacy problem mam pewna zmienna  ktora wykonuje pewne dzialanie i chce aby wynik dzialania jakie odbywa sie w tej zmiennej byl wyswietlony w wiadomosci mailowej.

DANE=/ /home/wyniki.txt -ls | awk '{ print $0 }'

i tresc wewnetrzna maila:

balabalabalabalabalabalanabalabalabalabalabalabalanabalabalabalabalabalabalana  balabalabalabalabalabalana${DANE}balabalabalabalabalabalanabalabalabalabalabala
balanabalabalabalabalabalabalana


Ten sposob wrzucenia wyniku z zmiennej mi nie dziala ;/  ${DANE}
Wie ktos moze w czym moze byc problem ? a moze mam jakis blad przy zmienej DANE ?

W pliku wyniki.txt znajduja sie 3 kolumny z danymi kolumny odzielone sa spacjami ( bialymi znakami ) i chce by w wiadomosci e-mail w odpowiednim miejscu pojawialy sie te kolumny. Czytalem cos o poleceniu cut ale nie wiem jak ej zastosowac do tego ;/ Licze na wasza wyrozumialosc i o szybka pomoc :)

arctgx

  • Gość
zmienne a wiadomosc e-mail ..
« Odpowiedź #1 dnia: 2008-05-30, 21:12:31 »
Ale żeś namieszał :)

Jeśli chcesz wynik polecenia władować do zmiennej, robisz tak:

ZMIENNA=`polecenie`
lub równoważnie
ZMIENNA=$(polecenie)
$0 w awk oznacza cały rekord (domyślnie wiersz). Poszczególne pola rekordu (domyślnie kawałki wiersza podzielone przez białe znaki) oznaczasz $1, $2 itd. Do drukowania pól prościej chyba użyć polecenia cut -d' ' -f1 (lub zamiast jedynki inny nr pola).

Chcesz do maila władować "te kolumny" czyli wszystko :) Napisz dokładniej co chcesz wyciągnąć z pliku wyniki.txt.

xox

  • Gość
zmienne a wiadomosc e-mail ..
« Odpowiedź #2 dnia: 2008-05-30, 21:15:23 »
Sorki za namieszanie :P Mowiac krotko chce zaladowac cala zawartosc pliku txt do maila tak by zawartosc tego pliku byla widoczna w innym tekscie .

arctgx

  • Gość
zmienne a wiadomosc e-mail ..
« Odpowiedź #3 dnia: 2008-05-30, 21:27:50 »
No to żaden awk czy cut do rozbebeszania go nie jest Ci potrzebny... Najprostsze polecenie w skrypcie to
echo $(< wyniki.txt)
. Nie korzysta ono z zewnętrznych poleceń typu cat.

Zachęcam do lektury man bash.

xox

  • Gość
zmienne a wiadomosc e-mail ..
« Odpowiedź #4 dnia: 2008-05-30, 22:02:29 »
jak uzywam polecenia $(< wyniki.txt)  laduje mi wszystko z pliku tekstowego ale mam wszystko kolejny klopot . Ładowane dane sa w jednej lini z malymi odstepami , brak kolumn ;/ a jak wchodze do pliku txt mam ladne kolumny i wszystko jest bardzo czytelne.
np:

Nazwisko:  Kowalski                Kwota: 250zl
Nazwisko:  Marecki                 Kwota: 150zl
Nazwisko:  Zborski                 Kwota: 350zl

a po zaladowaniu do maila wyglada to tak:

Nazwisko:  Kowalski            Kwota: 250zl    Nazwisko:  Marecki                 Kwota: 150zl
Nazwisko:  Zborski                 Kwota: 350zl

jakies pomysly?

arctgx

  • Gość
zmienne a wiadomosc e-mail ..
« Odpowiedź #5 dnia: 2008-05-30, 23:31:20 »
To może spróbuj wtedy jak działa cat wyniki.txt.

Ed. Albo prościej: weź poprzednie polecenie w cudzysłów (nie apostrof).