Επισκέπτης Δημοσ. 9 Ιουλίου 2006 Δημοσ. 9 Ιουλίου 2006 loipon, thelw na ylopoihsw thn entolh start se unix h entolh ayth sthn oysia tha katalabainei ti katalhksh exei to arxeio poy toy dinw(sthn prokeimenh periptwsh to filename.txt) kai tha kalei to antistoixo programma gia na to anoiksei..dhladh gia to arxeio filename tha kalesei ton vi... sthn ousia to script den exei nohma alla einai ergasia sta plaisia toy mathimatos "Leitoyrgika Systhmata" to protypo ths entolhs einia ayto: start [param1 [param2 … ] ] filename.txt ayto poy de kserw einai pws na syndesw thn entolh start me to script poy katalabainei tis katalhkseis kai kalei ta antistoixa programmata(to script einai peripoy etoimo) etsi wste kathe fora poy tha grafw start sth konsola,to shell na trexei to script mou... elpizw na katalabainete ayto poy zhtaw an kai exw thn entypwsh oti einai arketa dyskolo tespa,kathe bohtheia eyprosdekth..
Dionisos Δημοσ. 9 Ιουλίου 2006 Δημοσ. 9 Ιουλίου 2006 Pistevw to mono pou exeis na kaneis einai na onomaseis to script sou start kai na to valeis sto path tou systhmatos.
alkisg Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 Εννοείς ότι θέλεις να προσπελάσεις τις παραμέτρους ενός script; Αυτό γίνεται με $1, $2 κτλ. Π.χ. αν το start.sh περιέχει την εντολή echo $1 και δώσεις ./shell.sh file.txt θα τυπώσει file.txt Αν έχεις μεταβλητό αριθμό παραμέτρων, θα χρειαστείς μια for. Κάνε man for και δες εκεί που γράφει για το αστεράκι.
Επισκέπτης Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 wraia..eyxaristw poly ...ayto poy thelw na kanw einai ayto dld poy perigrafei o Dionisos @alkisg den me endiaferei na prospelasw tis metablhtes toy script kathws ayto exei if-s(alla mporei na balw kai kana switch) kaita kanei ola mono toy.. @Dionisos anaferese sto path toy systhmatos...se solaris 5.8 prepei na to balw sto .cshrc? kanw lathos?
Theoxaris Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 Νομίζω ότι μπορεί να σε βοηθήσει η awk για να κάνεις αποκοπή το extension του κάθε file. Με κόλλησες τώρα και κάθομαι να το φτιάξω και γω
Επισκέπτης Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 gia thn apokopoh toy extention xrhsimopoiw allh entolh...sygkekrimena: set inpt=$< set extention=$intp:e echo $extention opoy inpt einai h metablhth poy periexei thn eisodo toy xrhsth...allo einai to problhma moy omws.. epanerxomai se ligo..
Επισκέπτης Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 twra exw kollisei se mia blakeia kathoti eixa lathos entypwsh gia to apotelesma ths entolhs grep-n estw oti grafw: set reslt=grep -n "test" filename.txt echo $reslt kai moy emfanizei 2:this is a test egw omws thelw na krathsw sth metablhth reslt mono ton arithmo 2 kai oxi olo to string(eixa thn entypwsh oti h grep -n kratouse mono ton arithmo...) kamia idea?oso kai na epsaksa sto net lysh de brhka..isws einai arketa ekseidikeymeno ayto poy zhtaw (kai giayto den yparxoyn tutorial)...ti lete paides?
Dionisos Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 @Dionisos anaferese sto path toy systhmatos...se solaris 5.8 prepei na to balw sto .cshrc? kanw lathos? An xrhsimopoieis to c shell, nai mporeis na 8eseis to path sto .cshrc
Theoxaris Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 H grep -n σου εμφανίζει στην αρχή του αποτελέσματος σε ποια γραμμή βρήκε το string που ζητάς από το input που του έδωσες. Για παράδειγμα αν έχεις ένα αρχείο file.txt με 10 γραμμές και στην 6 γραμμή υπάρχει η λέξη test τότε με την εντολή grep -n "test" file.txt θα σου δώσει σαν αποτέλεσμα 6:κάποιο κείμενο test κάποιο κείμενο.
bird Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 @natural_sgf Μπορείς να δοκιμάσεις το set reslt=grep -n "test" filename.txt | cut -c 1 όπου θα πάρεις μόνο τον αρι8μό που θέλεις.. edit: Βέβαια αν είναι διψήφιος ο αριθμός θα έχεις πρόβλημα γιατι το -c 1 λέει στην cut να κρατήσει τον 1ο χαρακτήρα. Οπότε με κάποιο άλλο τρόπο πρέπει να το ελέγχεις αυτό... Αν σκεφτώ κάτι θα σου πώ
Επισκέπτης Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 paidia,eyxaristw poly.. paw na dokimasw ayto poy leei o bird twra
bird Δημοσ. 10 Ιουλίου 2006 Δημοσ. 10 Ιουλίου 2006 Λοιπόν για να πάρεις όλον τον αριθμό κάνε αυτό: set reslt=grep -n "test" filename.txt | cut -d ':' -f 1 Ελπίζω να σου δουλέψει...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.