NFO Forum Network:  linux.nfo.sk (Linux forum)     net.nfo.sk (Network forum)     www.mforum.sk (M$ forum)
Obsah fóra linux.nfo.sk linux.nfo.sk
Fórum zaoberajúce sa nielen Linuxom...
 
 Watched TopicsWatched Topics   FAQFAQ   HľadaťHľadať   Zoznam užívateľovZoznam užívateľov   Užívateľské skupinyUžívateľské skupiny   Lite versionLite   RegistráciaRegistrácia 
 NastaveniaNastavenia   Prihlásiť, pre kontrolu súkromných správPrihlásiť, pre kontrolu súkromných správ   PrihláseniePrihlásenie 

Vlastný vyhľadávací nástroj

Pomoc zo scriptopom "case"

 
Odoslať novú tému   Odpovedať na tému    Obsah fóra linux.nfo.sk -> Práca so shell-om
Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
admssm
Návštevník
Návštevník


Založený: 09.11.2012
Príspevky: 3

PríspevokZaslal: Št Nov 15, 2012 3:45 pm    Predmet: Pomoc zo scriptopom "case" Odpovedať s citátom

Prosim o pomoc s tymto scriptom.. stale mi to pise unknown distribution, aborting.
Dakujem.
Kód:

 #!bin/bash
for server in $(cat /root/server.txt) ; do
DISTRIBUTOR="ssh root@$server lsb_release -a | grep Distributor | cut -d\= -f2-"
case ${DISTRIBUTOR} in

("CentOs") : echo Discovered CentOs
sh ./audit_1.sh
;;
("RedHat") : echo Discovered RedHat
sh ./audit_1.sh
;;
("RedHatEnterpriseAS") : echo Discovered RedHatEnterpriseAS
sh ./audit_1.sh
;;
("Debian") : echo Discovered Debian
sh ./audit_2.sh
;;
(*) : echo Discovered ....only god knows what
echo unknown distribution, aborting;
break;
;;
esac
done

Pri kazdej distribucii vypisuje rovnakym sposobom nazov, a aj tak to nechce precitat...
Kód:
@debian:~# lsb_release -a | grep Distributor
Distributor ID: Debian

Distributor ID: RedHat

Distributor ID: CentOs </code>
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
cievo
Site Admin
Site Admin


Založený: 04.01.2005
Príspevky: 936
Bydlisko: Vrútky, Slovensko

PríspevokZaslal: Št Nov 15, 2012 4:10 pm    Predmet: Mno... Odpovedať s citátom

Ja som moc nepochopil, ze co sa vlastne pytas Smile
_________________
...Good question is half of the answer...
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Odoslať e-mail Zobraziť autorove WWW stránky AOL Instant Messenger Yahoo Messenger MSN Messenger
admssm
Návštevník
Návštevník


Založený: 09.11.2012
Príspevky: 3

PríspevokZaslal: Št Nov 15, 2012 8:45 pm    Predmet: Odpovedať s citátom

Ked spustim spomenuty script, vzdy dostanem rovnaku odpoved.. aj ked sa jedna o CentOs alebo RedHat, hlaska povie "unknown distribution, aborting; ", co by sa v podstate malo zobrazit len pre nezadefinovane distribucie. Prosim poradte mi, neviem, kde ci je nieco zle napisane v scripte, alebo... uz neviem.

Dakujem.
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Anonymný






PríspevokZaslal: Št Nov 22, 2012 8:08 am    Predmet: Odpovedať s citátom

neviem, ja len mam taky dojem z davnych casov ked som este obcas co to pisal v C, ze switch-case bolo treba vzdy ukoncit breakom (v kazdej podmienke) pokial som nechcel aby vykonaval aj veci dalej; ale je fakt ze je to uz vela-vela rokov a mozem to mat v hlave uz trosku pomylene... Smile
ale mozes skusit, pripadne si tam pridaj nejake to echo a tak co ti moze pomoct pri debugu....
Návrat hore
cievo
Site Admin
Site Admin


Založený: 04.01.2005
Príspevky: 936
Bydlisko: Vrútky, Slovensko

PríspevokZaslal: Ut Nov 27, 2012 2:35 pm    Predmet: Mno... Odpovedať s citátom

Skus si dat vypisat hodnotu premennej DISTRIBUTION cez echo a zistis aky je tam retazec Shocked
_________________
...Good question is half of the answer...
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Odoslať e-mail Zobraziť autorove WWW stránky AOL Instant Messenger Yahoo Messenger MSN Messenger
slacker
Používateľ
Používateľ


Založený: 12.01.2005
Príspevky: 17
Bydlisko: Trnava

PríspevokZaslal: So Mar 23, 2013 1:29 pm    Predmet: Odpovedať s citátom

Mas tam viac chyb, vyskusaj takto:

Kód:
#!/bin/bash

for server in $(cat /root/server.txt); do

DISTRIBUTOR=$(ssh root@$server lsb_release -a | grep Distributor | awk '{print $3}')

case "$DISTRIBUTOR" in
        CentOS)
                echo Discovered CentOS on server $server
                sh ./audit_1.sh
                ;;
        RedHat)
                echo Discovered RedHat on server $server
                sh ./audit_1.sh
                ;;
        RedHatEnterpriseAS)
                echo Discovered RedHatEnterpriseAS on server $server
                sh ./audit_1.sh
                ;;
        Debian)
                echo Discovered Debian on server $server
                sh ./audit_2.sh
                ;;
        *)
                echo Discovered ....only god knows what
                echo unknown distribution, aborting
                break
                ;;
esac

done
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:   
Odoslať novú tému   Odpovedať na tému    Obsah fóra linux.nfo.sk -> Práca so shell-om Časy uvádzané v GMT + 1 hodina
Strana 1 z 1

 
Prejdi na:  
Môžete odosielať nové témy do tohto fóra
Môžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre
Nemôžete hlasovať v tomto fóre


Powered by phpBB © 2001, 2005 phpBB Group

Server Uptime: 107 days 23 hours 57 minutes | Average Load: 0.46, 0.47, 0.55

linux.nfo.sk topic RSS feed