Bash script if/else pomoc
Prosim o pomoc pri pisani bash scriptu. Netusim ako to napisat, aby tam bola aj podmienka if/else. Potrebujem nasledovne..:
Ak je OS debian, tak zbehne:
wget ftp.de.debian.org/debian/pool/main/l/lshw/lshw_02.14-1_i386.deb
dpkg -i lshw_02.14-1_i386.deb
Ak je OS Centos/Rhel, tak zbehne:
wget http://packages.sw.be/lshw/lshw-2.14-1.el4.rf.i386.rpm
rpm -ivh lshw-2.14-1.el4.rf.i386.rpm
a nakoniec zbehne este "rpm -qa > rpm_output.txt"
Dakujem velmi pekne..
Pre pridávanie komentárov sa musíte prihlásiť.
lsb_release
?Keďže nepíšeš čo Ti to píše, tak to asi zvládneš aj sám. Ostatní si kôli tomu inštalovať dva rôzne OS nebudú.
#!/bin/bash
lsb_release -a | grep Distributor
if [ "Distributor" = "Centos" ]; then
wget http://packages.sw.be/lshw/lshw-2.14-1.el4.rf.i386.rpm
rpm -ivh lshw-2.14-1.el4.rf.i386.rpm
if [ "Distributor" = "Debian" ]; then
wget ftp.de.debian.org/debian/pool/main/l/lshw/lshw_02.14-1_i386.deb
dpkg -i lshw_02.14-1_i386.deb
else echo "different OS..."
fi
Error:
sss.sh: line 12: syntax error near unexpected token `else'
sss.sh: line 12: `else echo "different OS..."
este jednu vec by som chcel vediet.. script pozera na nazov OS.. CentOS, Debian, atd... Pokial OS ma v nazve aj nieco navyse okrem toho, ako to napisem..? Snazim sa to robit na viacere verzie OS.
Takto: Centos* alebo to treba inak..?
Dakujem.
case
.A nemám problém pozrieť si manuálovú stránku i keď mňa za vyriešeine tvojho problému neplatia.
... Môže si príjsť pre Tvoju výplatu? Pravdepodobne to bude nutné, keďže priamou inštaláciou *rpm alebo *deb si rozhodíš balíčkovací systém a odpáliš možnosť upgrade.
PS: to tam máš Redhat alebo Centos?
A nemám problém pozrieť si manuálovú stránku i keď mňa za vyriešeine tvojho problému neplatia. Ja som tiez pozeral stranky, rozne tutorialy.. je to pre mna strasne abstraktne. Tento prikaz (script) by som ja urcite nenasiel v manualy...
"keďže priamou inštaláciou *rpm alebo *deb si rozhodíš balíčkovací systém a odpáliš možnosť upgrade." Netusim o com rozpravas...
Je to so mnou zufale... ale som rad, ze ste mi pomohli. Tvoj prikaz je uplne ina dimenzia nez to co som ja vysmolil.
Dakujem.
Tak píš tak aby Ťa bolo rozumieť.
Tento prikaz (script) by som ja urcite nenasiel v manualy
To je pravda, popis syntaxe je v manuálovej stránke. Predpokladám, že si nepozeral čo robí príkaz
man bash
a ako sa v ňom vyhľadáva.Skús sa už pozrieť do manuálov. Tie sú napísané na to, aby člooveku pomohli a nie aby sa použili na podloženie stola ktorý sa kýva. Hľadanie v google vyhodí len bežné riešenie, ale Ty máš špecifickú požiadavu. Takže bez príručky budeš odkázany na dobročinnosť ostatných. A to je pre samostatne mracujúceho človeka na pozícii správcu jasné mínus. Dosť veľké.
Ak chce, nech si to opraví. Alebo nech si zaplatí niekoho čo si nainštaluje podobné systémy a nech mu dá nejaké vreckové za dodanie nástroja. Neboj, dosť sa ich nájde ak bude rozumná cena a akceptovateľné termíny.
Iné by to bolo v práci kde si môžem s kolekami vymeniť navzájom nejaké úlohy.