• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2025, 16:13:11 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 18, 2025, 16:13:11 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
H Στοά των Off Topic
by Nikos_313
[Today at 08:53:31]

[Μεταφορά και Διανομή ΗΕ]...
by tzortzis
[Today at 07:55:05]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]
Στατιστικά
Members
Total Members: 9965
Latest: Poli
Stats
Total Posts: 1426711
Total Topics: 31711
Online Today: 231
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 75
Guests: 112
Total: 187
aafroditi
rafa98p
stergiosb
d0xa
angelos
Giannis_Kako
kostas.13v
nikos_matall
Domnious
Haralampos
JustPK
Tserk
Pakapis5
stavros0201
pavlaras
Nikos_313
nikd
rspappas
dimitris papadopoulos
thomasdt
κοτζακ
soti
valentini
Oxi
Polychronia K
tasos_ntv
asimomyti
idchatzi
andripappa
spoun
kstavroulis
dimitrisadamou
Mr Watson
noimaginationforthis
mike1996
Eleniiii
Thanos_Bog
TheKingInTheNorth
Petross
glavdakis
Agnotobouri
malogeor
mara.mlch
stavrosk
anon
stephaniechatz
Kwst@ss_
jimalexoud
marnas
dimitris585
Tsompanotravolta
statiris
matrozos
ggougous
maria.r
boulionis
georgino
nikos123321
alice
kvas
KZerenidis
apos34
mantzjim
Ast
Katsavidi
redwolf
geoarg
Antreas17
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Linux / Unix (Moderators: chatzikys, PolarBear) > Bash Scripting
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: Bash Scripting  (Read 3646 times)
Καμένος
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2322


View Profile
Bash Scripting
« on: February 22, 2008, 16:11:26 pm »

Ξεκίνησα να διαβάζω bash scripting και είπα να ανοίξω τοπικ για συζήτηση - απορίες κτλ, αφού δε βρήκα κανένα άλλο!

Μπορούμε να ποστάρουμε και προγραμματάκια που φτιάξαμε για αν μοιράζεται η γνώση!
Logged
chggr005
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 2566


Free ...as a bird (Beatles)


View Profile
Re: Bash Scripting
« Reply #1 on: February 22, 2008, 21:29:41 pm »

Η Αλεξάνδρεια έχει κάποια καταπληκτικά βιβλία για bash scripting Wink
Logged

Goodbye to you, my trusted friend.
We've known each other since we were nine or ten.
Together we 've  climbed hills or trees.
Learned of love and ABC's,
skinned our hearts and skinned our knees.

Goodbye my friend, it's hard to die,
when all the birds are singing in the sky,
Now that the spring is in the air.
Ο λογαριασμός έχει παραβιαστεί, μην ανοίξετε το link. are everywhere.
When you see them I'll be there.

We had joy, we had fun, we had seasons in the sun.
But the hills that we climbed
were just seasons out of time.

Terry Jacks - Seasons In The Sun


Οι πρωτοετείς φοιτητές μπορούν να ενημερωθούν για τον Σύλλογο Φοιτητών Ηλεκτρολόγων Μηχανολόγων Μηχανικών από εδώ:  Σύλλογος Φοιτητών
Καμένος
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2322


View Profile
Re: Bash Scripting
« Reply #2 on: February 25, 2008, 13:02:40 pm »

Βασικά εγώ διαβάζω το http://tldp.org/LDP/abs/abs-guide.pdf το οποίο είναι αρκετά καλό και έχει πολύ πράμα μέσα..

Λοιπόν η πρώτη απορία:

Ήθελα να κάνω ένα script που θα έκανε search σε ένα φάκελο αναδρομικά προς τα μέσα και θα εμφάνιζε τα αρχεία (και τον φάκελο που βρίσκονταν) που το όνομά τους θα περιείχε μία λέξη.

Υπάρχει ο απλός τρόπος:

Code:
echo $(ls -R | grep $word)

αλλά δε μου κάνει γιατί δεν μπορώ να ξέρω σε ποιο φάκελο είναι το κάθε αρχείο (εκτός αν μου διαφεύγει κανένας τρόπος).

Λοιπον έγραψα το παρακάτω:

Code:

#! /bin/bash

execute() {
local in1=$1
local in2=$2
for j in $(ls $in2)
do
if [ ! -z $(echo $j | grep $in1) ] ; then echo "$j   --> $in2"  ; fi
if [ -d $j ]
then
execute $in1 "$in2/$j"
fi
done
}

if [[ $# != 1 && $# != 2 ]]
then
echo "Wrong arguments $#"
else
if [[ $# = 1 ]]
then
direc=$PWD
else
direc=$2
fi
echo
for i in $(ls $PWD)
do
if [ ! -z $(echo $i | grep $1) ] ; then echo "$i   --> $direc" ; fi
if [ -d $i ]
then
execute $1 "$direc/$i"
fi
done
echo
fi


Το οποίο παίρνει 1 ή δύο ορίσματα. Το πρώτο είναι η λέξη για την οποία θα κάνει αναζήτηση και το δεύτερο είναι ο φάκελος από τον οποίο θα ξεκινήσει η αναζήτηση.

Έφτιαξα μία συνάρτηση execute η οποία θα βρίσκει αναδρομικά τους φακέλους και τα περιεχόμενά τους και θα ελέγχει για τα αρχεία.

Τα προβλήματα είναι:

1) Δουλεύει μόνο σε βάθος 1. Δηλαδή εμφανίζει τα αρχεία στον φάκελο που είμαι και στους φακέλους που είναι μέσα σε αυτόν. Σε μεγαλύτερο βάθος δεν πάει. Συγκεκριμένα  στην execute η παρακάτω εντολή δουλεύει:

if [ ! -z $(echo $j | grep $in1) ] ; then echo "$j   --> $in2"  ; fi

αλλά η εντολή

if [ -d $j ]

όχι.

Δηλαδή βρίσκει ποια αρχεία υπάρχουν αλλά αν υπάρχει φάκελος δεν τον αναγνωρίζει σαν φάκελο. Και δεν έχω ιδέα γιατί!!

Πρόβλημα 2) Αν ένας φάκελος έχει κενό δεν βρίσκει τίποτα.. Προφανώς αυτό γίνεται διότι οι εντολές το παίρνουν σαν 2 ορίσματα. Υπάρχει εύκολος τρόπος να αντιμετωπιστεί ή πρέπει να γίνει manualy??
Logged
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #3 on: February 25, 2008, 13:36:31 pm »

deleted
« Last Edit: June 14, 2015, 19:43:01 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Καμένος
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2322


View Profile
Re: Bash Scripting
« Reply #4 on: February 25, 2008, 13:37:33 pm »

Δουλεύει indeed.

Πάντα υπάρχει συντομότερος δρόμος..

Πρόλα αυτά γιατί δε δούλευε το παραπάνω?
Logged
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #5 on: February 25, 2008, 13:38:44 pm »

deleted
« Last Edit: June 14, 2015, 19:43:00 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Verminoz
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 8236


I smoke my friends down to the filter


View Profile WWW
Re: Bash Scripting
« Reply #6 on: February 25, 2008, 13:41:26 pm »

Βασικά, πρέπει να μπαίνεις και να διαβάζεις τα man των εντολών. Εκεί μέσα βρίσκονται πολλές φορές οι πληροφορίες που χρειάζεσαι αλλά δυστυχώς αρκετά κρυμμένες. Θα ποστάρω κάτι που εγώ έσπασα το κεφάλι μου και έχασα μισή μέρα στο γοογλε και στα man για να το βρω. Τελικά το βρήκα στα man...

Η εντολή grep παίρνει πολλαπλά ορίσματα έτσι:
grep -F -e 'orisma1' -e 'orisma2' -e 'orisma3'......κοκ
Logged



Englab - Open source scientific/engineering platform
Rebetologion - Contemporary/Experimental


Κακούργα ύπαρξις!
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Bash Scripting
« Reply #7 on: February 25, 2008, 16:33:45 pm »

Για πειτε καμια καλη ιδεα για κανα scriptακι???
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Bash Scripting
« Reply #8 on: February 26, 2008, 14:35:22 pm »

Μπορουμε να το κανουμε και σε μορφη μινι - διαγωνισμου. Να βαζει καποιος μια ιδεα, και μεσα σε 1,2,3 μερες να προσπαθουμε να την υλοποιησουμε. Οποιος το κανει "καλυτερα", δηλαδη πιο απλο και πιο γρηγορο να "κερδιζει".
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
Καμένος
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2322


View Profile
Re: Bash Scripting
« Reply #9 on: February 26, 2008, 14:49:11 pm »

Καλό ακούγεται! Για πείτε καμιά ιδέα...
Logged
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Bash Scripting
« Reply #10 on: February 26, 2008, 14:53:36 pm »

Βασικα, δεν ξερω και μεχρι τι μπορει να υλοποιηθει με bash scripting. Για παραδειγμα, να μην σου ανοιγει σαν email client τον evolution, αλλα οποιον θες εσυ, π.χ. thunderbird. Αυτο θα γινεται?
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
Verminoz
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 8236


I smoke my friends down to the filter


View Profile WWW
Re: Bash Scripting
« Reply #11 on: February 26, 2008, 15:56:55 pm »

Quote from: Aurelius on February 26, 2008, 14:53:36 pm
Βασικα, δεν ξερω και μεχρι τι μπορει να υλοποιηθει με bash scripting. Για παραδειγμα, να μην σου ανοιγει σαν email client τον evolution, αλλα οποιον θες εσυ, π.χ. thunderbird. Αυτο θα γινεται?

Όταν λες να σου ανοίγει τι εννοεις? Όταν πατάς link στον browser?
Logged



Englab - Open source scientific/engineering platform
Rebetologion - Contemporary/Experimental


Κακούργα ύπαρξις!
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Bash Scripting
« Reply #12 on: February 26, 2008, 16:05:30 pm »

Ναι. Π.χ. ειναι ενα email σε μια σελιδα, και οταν το πατας, ανοιγει αυτοματα το evolution για να στειλεις σε εκεινη την διευθυνση email. Αντι να ανοιγει τον evolution, να ανοιγει καποιο αλλο προγραμμα. Αλλα δεν νομιζω να μπροει να γινει με bash script.
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
SolidSNK
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 4617


free()'d and attuned


View Profile
Re: Bash Scripting
« Reply #13 on: February 26, 2008, 18:11:41 pm »

Μέσα και γω Smiley
Logged

"Savior, conqueror, hero, villain. You are all things, Revan, and yet you are nothing. In the end you belong to neither the light nor the darkness. You will forever stand alone."
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: Bash Scripting
« Reply #14 on: February 27, 2008, 11:40:37 am »

Ε ωραια, πειτε καμια ιδεα. Μια αλλη ιδεα ειναι να κανει τα greeklish ελληνικα. Δεχεται κανονικα η κονσολα τα ελληνικα?
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
Pages: [1] 2 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...