Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Bash script programiranje

[es] :: Skript jezici :: Bash script programiranje

[ Pregleda: 4074 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bata_258

Član broj: 110899
Poruke: 1
77.46.171.*



Profil

icon Bash script programiranje19.09.2009. u 00:41 - pre 177 meseci

Bio bih zahvalan ako neko moze da mi pomogne.
Radi se o bash skriptu gde treba da pronadjem najveci broj u nizu od pet brojeva
Unapred zahvalan
Pokusavao sam sa
if [ "$2" -gt "$3" ]; then
if [ "$2" -gt "$4" ]; then
if [ "$2" -gt "$5" ]; then
if [ "$2" -gt "$6" ]
echo "$2"
else
if [ "$3" -gt "$4" ]; then
if [ "$3" -gt "$5" ]; then
if [ "$3" -gt "$6" ]
echo "$3"

else
if [ "$4" -gt "$5" ]; then
if [ "$4" -gt "$6" ]; then
echo "$4"
else
if [ "$5" -gt "$6" ]; then
echo "$5"
else
echo "$6"
fi
exit



 
Odgovor na temu

uranium
Beograd

Član broj: 60097
Poruke: 543
93.86.200.*

Jabber: uranium@elitesecurity.org
ICQ: 324386953


+5 Profil

icon Re: Bash script programiranje19.09.2009. u 15:03 - pre 177 meseci
Ako sledeći kod snimiš u fajl ( recimo kao max.sh ) i dodeliš mu exec. privilegije sa chmod u+x ./max.sh

Code:

#!/bin/bash

echo "$@" | tr '[:space:]' '\n' | sort -nr | head -1


onda to što tražiš možeš dobiti sa:


./max.sh 1 3 42 2 1
42

Attempt all the problems. Those you can do, don't do. Do the ones you cannot.
 
Odgovor na temu

IcemanX
System administrator/Test automation
engineer
Betware doo
Beograd

Član broj: 253997
Poruke: 155
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Bash script programiranje17.03.2010. u 03:36 - pre 171 meseci
Upravo tako,kod Linuxa sve izvrsne datoteke po defaultu nemaju exec privilegije..moras sam da im dodelis i onda bi ovo koliko vidim trebalo da ti radi posao...moze se ako te zanima i drugacije da napravi da ne unosis parametre odmah pri pokretanju scripte "./max.sh 4 5 6 7 8" vec da to malo lici na programcic pa da te scripta pita za svaki clan niza posebno,i da na kraju proveri da li je unoseno tacno 2 parametra ako nije da ti vrati poruku ili da li su uneseni parametri brojevi ..dakle sve u zavisnosti od potrebe i zelje da imas bolju skriptu..ali licno znam da bash programiranje iako je na prvi pogled jako prosto nije nimalo jednostavno,,,zasto ??npr trebao sam na faxu za domaci zadatak da uradim neku scripticu i za jedan code koji 100% sam bio uveren da je dobar nije jednostavno hteo da mi radi..morao sam da uradim na drugi nacin..isti code sam kopirao na faxu na njihovim masinama koji su imali ubuntu preko VB-a i savrseno je radilo..takodje bash programiranje je jako osetljivo po pitanju gde pravis razmake a gde ne...zasto ??nikad nisam provalio...
alea iacta est
 
Odgovor na temu

ivanzj

Član broj: 150597
Poruke: 76
*.ynet.sk.



+2 Profil

icon Re: Bash script programiranje16.10.2010. u 03:40 - pre 164 meseci
imam jedan mali problem.
Naime, potrebno mi je ispisati sve prijavljene korisnike i vreme njihove poslednje odjave(log-out).
To sam nekako nasao, ali ne znam kako da taj pajp ubacim u for ili nesto slicno tome
Code:
 users=`w | tail -n +3 | cut -d ' ' -f 1 | sort -u ` 


Code:
logout=`last $users | head -2 | tail -1 | tr -s ' ' | cut -d ' ' -f9 ` 


Ako to moze uopste nekako da se spoji

poz i hvala
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: Bash script programiranje16.10.2010. u 08:14 - pre 164 meseci
Code (bash):

for i in $users
do
logout=`last $i | ...`
echo $logout
done
 


Tako nekako... ali tako ces samo dobiti vreme, a ne i datum poslednjeg logovanja, npr:

Citat:

bash-3.2$ users=`w | tail -n +3 | cut -d ' ' -f 1 | sort -u`
bash-3.2$ for i in $users; do logout=`last $i | head -2 | tail -1 | tr -s ' ' | cut -d ' ' -f9`; echo $logout; done
09:32
bash-3.2$ last user
user pts/0 x.x.x.x Sat Oct 16 09:06 still logged in
user pts/0 x.x.x.x Thu Oct 14 09:29 - 09:32 (00:02)


Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

ivanzj

Član broj: 150597
Poruke: 76
*.ynet.sk.



+2 Profil

icon Re: Bash script programiranje17.10.2010. u 02:19 - pre 164 meseci
Super. Hvala lepo
Prilazem i celu skriptu, mozda nekome bude od pomoci.
Dakle, ako se kao parametar -h stavi, ispisace se help, ako se stavi -c, ispisace broj prijavljenih korisnika, ako se upise bilo koji drugi parametar, ispisace "greska" a ako se ne stavi nikakav parametar, izlistace sve prijavljene korisnike i datum i vreme njihove poslednje odjave

Code:

function help {
        echo "help"
}
if [ $# -gt 0 ] ; then
        case $1 in
                -h) help;;
                -c) echo "broj prijavljenih korisnika:"
                        who | wc -l ;;
                *) echo "greska"
                     help;;
        esac
else
        echo -e "korisnik \t datum i vreme poslednje odjave"
        
        users=`w | tail -n +3 | cut -d ' ' -f 1 | sort -u `

        for i in $users
        do
                logout=`last $i | head -2 | tail -1 | tr -s ' ' | cut -d ' ' -f5 -f6 -f8 -f9 `
                echo -e "$i \t $logout"
        done
fi
echo "kraj"


Mozda jos jedna mala pomoc...
Koliko sam gledao manuale za who i wc, nisam video da oni imaju neki parametar, kao sto sort ima -u, tako da, ukoliko se neko prijavi sa vise terminala od jednom, nece ispisati broj korisnika, vec broj aktivnih terminala. Da li se to moze nekako resiti?

glupost
ovako sam to resio:
Code:

-c) echo ""
     count=`w | tail -n +3 | cut -d ' ' -f 1 | sort -u | wc -l`
     echo "broj prijavljenih korisnika je $count" ;;

trebalo bi da valja

[Ovu poruku je menjao ivanzj dana 17.10.2010. u 03:38 GMT+1]
 
Odgovor na temu

[es] :: Skript jezici :: Bash script programiranje

[ Pregleda: 4074 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.