Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 30 odgovora
  • 9.745 pregleda

Najnovija ↓

go to i blokovi naredbi u BASH-u 14.09.2004. u 22:50 · pre 269 meseci #1
Koristim knjigu Linux programiranje,Majstor za Unix i skidao sam neke tutoriale zeleci da naucim BASH programiranje.Pravim jedan skript sa nekim menijem i kasnije idu meni za meni i opet meni i opet meni itd.
Problemi:
1)Da bih napravio opciju "back" potrebna mi je komanda kao sto je u Pascalu i C++ : "go to" ili da koristim svaku komandu kao odvojenu funkciju sto trazi dosta vremena i cini mi se da se petlje nemogu preklapati u BASH-u.Za goto u svim tim izvorima koje sam naveo nema nista.
U sustini trazim samo da mi odgovorite koja je u BASH-u zamena za GO TO ako postoji?
Ne zelim odgovor da samo amateri koriste go to itd. nego konkretno resenje ako go to za Bash nepostoji.
2)Kako se u BASH-u prave blokovi naredbe (kao sto je u Pascalu begin i end ili u C++ {})
hvala
Re: go to i blokovi naredbi u BASH-u 14.09.2004. u 23:11 · pre 269 meseci #2
Ako sam te dobro shvatio

funkcija() {
neka_komanda
jos_jedna_komanda
miljan_smara_sa_donjim_crtama
}

I to posle pozivas sa funkcija.
Potpis
Aj prevedi!
Re: go to i blokovi naredbi u BASH-u 15.09.2004. u 22:06 · pre 269 meseci #4
Pa ako imaš blokove naredbi(funkcije) i petlje, ne treba ti goto.
Pogledaj kako je rađen BashBurn jesi mislio na ovakav nekakav meni?
Potpis
GnuPG public key:
tixo.asc


Try and be nice to people, avoid eating fat, read a good book every now and
then, get some walking in, and try and live together in peace and harmony with
people of all creeds and nations.
Re: go to i blokovi naredbi u BASH-u 18.09.2004. u 15:40 · pre 269 meseci #5
Da,na takav sam meni mislio.Jos jedno pitanje:
Kako da iz nekog fajla procitam neki odredjeni red?
Na primer hocu promenljivoj $REC da dodelim vrednost iz 53-ce linije fajla promenljive.txt.
Re: go to i blokovi naredbi u BASH-u 18.09.2004. u 17:41 · pre 269 meseci #6
hm, ne pada mi ništa bolje na pamet od:
Code:
sed -n 53p'' promenljive.txt

tj
Code:
REC=`sed -n 53p'' promenljive.txt`
u samoj skripti.

P.S. trebalo bi i da može bez onih '' iza p, ali ovo je sigurno za svaki sed
Potpis
GnuPG public key:
tixo.asc


Try and be nice to people, avoid eating fat, read a good book every now and
then, get some walking in, and try and live together in peace and harmony with
people of all creeds and nations.
Re: go to i blokovi naredbi u BASH-u 19.09.2004. u 14:16 · pre 269 meseci #13
Mislim da imamo favorita za bash bultins rešenje:

REC=`P=0;while((P++!=53));do read L;done<promenljive.txt;echo $L`
Re: go to i blokovi naredbi u BASH-u 19.09.2004. u 14:33 · pre 269 meseci #14
Ukrao sam od vrider-a ideju sa grepovanjem numerisane linije i doradio je:

REC=`nl -w1 promenljive.txt|grep ^53|cut -f 2-`
Re: go to i blokovi naredbi u BASH-u 19.09.2004. u 15:04 · pre 269 meseci #15
A ako ima preko 529 parametara? :))))
Code:
nl -w3 -n rz promenljive.txt|grep ^053|cut -f 2-

Potpis
GnuPG public key:
tixo.asc


Try and be nice to people, avoid eating fat, read a good book every now and
then, get some walking in, and try and live together in peace and harmony with
people of all creeds and nations.
Re: go to i blokovi naredbi u BASH-u 19.09.2004. u 15:21 · pre 269 meseci #16
Pa nema uopšte potrebe, ono prvo je univerzalno.

Evo za 535tu liniju:

Code:

zermatt:~/test# seq 1000 > t
zermatt:~/test# tail t
991
992
993
994
995
996
997
998
999
1000
zermatt:~/test# nl -w1 t| grep ^535|cut -f 2-
535


Nego ajmo varijacije, da vas vidim. :) Kraće, kriptičnije ili efikasnije, nešto od toga se ceni.
Re: go to i blokovi naredbi u BASH-u 19.09.2004. u 17:00 · pre 269 meseci #19
Dobih od šefa domaći zadatak da priložim rešenje u Pythonu. Ispisuje 53. liniju datoteke koju dobije na stdin.
Code:

 python -c 'import sys; print sys.stdin.readlines()[52],'
Re: go to i blokovi naredbi u BASH-u 19.09.2004. u 17:18 · pre 269 meseci #20
Filip je ukazao na grešku u grep rešenju odozgo. Ako postoji 53, 530,531,.. i slične linije ispisivalo bi ih sve greškom.

Ovo je otprilike rešenje i tog problema:

nl -w1 fajl|grep ^53[[:space:]]
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme