Εργαστήριο Λειτουργικών Συστημάτων Φροντιστήριο 2– Εισαγωγή στη Bash Ντίρλης Νικόλαος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Προγραμματισμός PASCAL
Advertisements

Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Κελύφη, Μεταβλητές και Προγραμματισμός
• Php • Joomla • Joomla Module • Παρουσίαση του συστήματος μας.
5η Συνάντηση Εκπαιδευτικών Πληροφορικής στη Δυτική Μακεδονία Πτολεμαΐδα, 29 Σεπτ 2005 Δημιουργία Δυναμικών Ιστοσελίδων με PHP και Dreamweaver MX Στυλιάδης.
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Λογισμικό: Δημιουργία εφαρμογών Επίπεδο.
Προγραμματισμός Ι Παράδειγμα: Παράδειγμα:Να γραφεί πρόγραμμα που να δέχεται ως είσοδο κείμενο, να απαριθμεί τις εμφανίσεις των ψηφίων 0-9, τα λευκά διαστήματα.
Login Shell SunOS 5.6 login: ikantz Password: Last login: Sat Dec 2 17:26:36 from ppp16.ath.aegean Sun Microsystems Inc. SunOS 5.6 Generic August 1997.
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης.
Αποθηκευμένες Διαδικασίες και Εναύσματα Δρ. Παναγιώτης Συμεωνίδης.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 5: Επαναληπτικές και εξωτερικές συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009.
Αρχές Προγραμματισμού (C). ...γράφοντας σωστά προγράμματα! (IIΙ)
Προγραμματισμός στο ΜatLab
Μέλη ομάδας: Χρυσή Σέα Νικόλας Κλεάνθους Στέφανος Γεωργίου.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Εργαστήριο Λειτουργικών Συστημάτων Φροντιστήριο 1 ο – Εισαγωγή στο MINIX 3 Ντίρλης Νικόλαος.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο. Project του μαθήματος  Εργασία 2 ατόμων  Προφορική εξέταση για :  Project (80%)  Θεωρία (20%)  Στο φροντιστήριο.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
P ERL One of the most respectable general-purpose scripting languages Δημητρίου Νίκος Δημητρίου Θεόδωρος Ζαβού Έλλη.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 12: Παραγωγή Ενδιάμεσου Κώδικα (Σημασιολογικές ρουτίνες μετάφρασης-Μέρος Β) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Κουλίνας Μιχαήλ Α.Μ.:774 Μπουρνάζης Χρήστος Α.Μ.:792 Ρογκάκος Γεώργιος Α.Μ.:817.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Διαφάνειες παρουσίασης #2
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
ΕΙΣΑΓΩΓΙΚΟ ΦΡΟΝΤΙΣΤΗΡΙΟ Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Εργαλεία.
Δημιουργία προγράμματος ερωτηματολογίου Πολλαπλής Επιλογής Α. Σχεδίαση Φόρμας.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Βασικά στοιχεία της Java
Μάθημα 9 Λίγο απ’ όλα! HTML 5 Advanced PHP XML. HTML 5 Πρόκειται για μια νέα έκδοση της HTML που συμπληρώνει τις δυνατότητες της γλώσσας με κάποια Tags.
ΔΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙΔΩΝ Ένας Συνοπτικός Οδηγός Καμήλαλη Δέσποινα Μαθηματικός, MSc Πληροφορικής, Υποψήφια Διδάκτωρ Χαροκοπείου Πανεπιστημίου Αθηνών.
Εργαστήριο «Διαχείριση & Ασφάλεια Δικτύων» Επισκόπηση Βασικών Δικτυακών Λειτουργιών Διδάσκων: Δρ. Γενειατάκης Δημήτρης Τμήμα Επιστήμης.
Εισαγωγή στην Python.
Εφαρμογές Υπολογιστών
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
Ενισχυτική διδασκαλία
Εφαρμογές Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Προσθήκη διαδραστικότητας στους κόσμους SCRIPTING
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄

Πρότυπα Προγραμματισμού
«Από τη MicroWorlds Pro στην Python»
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
3.2 Μεταβλητές και τύποι δεδομένων
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Γλώσσα Προγραμματισμού V PHP
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
Λούκας Νεοκλέους - Μαρία Χαραλάμπους - Βλαδίμηρος Θεοδοσίου
Μεταγράφημα παρουσίασης:

Εργαστήριο Λειτουργικών Συστημάτων Φροντιστήριο 2– Εισαγωγή στη Bash Ντίρλης Νικόλαος

Scripting  Μια scripting γλώσσα προγραμματισμού είναι σχεδιασμένη να υποστηρίζει scripts.  Scripts ονομάζονται τα προγράμματα αυτά που είναι γραμμένα για ένα ειδικό περιβάλλον, τα οποία μεταγλωττίζουν και αυτοματοποιούν την εκτέλεση tasks που διαφορετικά θα έπρεπε να τα εκτελέσει « με το χέρι » ένας χειριστής.  Scripting language = “Glue language”  Javascript, PHP, Perl, Python… και  Bash!

Hello World!  Πρώτα πρέπει να εγκαταστήσουμε το bash  #pkgin install bash…  Έπειτα πρέπει να ξεκινήσουμε το shell  #bash  Βλέπουμε ένα νέο prompt και τώρα απλά :  bash-4.2# echo Hello World!  Εναλλακτικά : #vi hello.sh #bash hello.sh

Redirection  redirect stdout to a file  redirect stderr to a file  redirect stdout to a stderr  redirect stderr to a stdout  redirect stderr and stdout to a file  redirect stderr and stdout to stdout  redirect stderr and stdout to stderr Παράδειγμα : grep * 2>&1 Το stderr ενός προγράμματος ( που είναι unbuffered) θα πάει στο buffered stdout

Pipes  Χρησιμοποιούμε την έξοδο ενός προγράμματος σαν είσοδο σε ένα άλλο πχ ls|sort ή ls|grep “.\txt” ( Τι κάνουν τα δύο παραπάνω script άκια ;)

Μεταβλητές  Στην bash δεν υπάρχουν data types  Δεν γίνεται δήλωση μεταβλητών  Παράδειγμα : #vi example.sh #bash example.sh example.sh: STR=“Hello CEID” echo $STR Προσοχή : το «$» πριν το όνομα της μεταβλητής

Τοπικές Μεταβλητές  Χρήση local  Παράδειγμα : HELLO=“Hello” Function hello { local HELLO=“World” echo $HELLO } Τι θα γίνει αν κάνω echo $HELLO; Αν καλέσω τη “hello”;

Conditionals  If…then  If…then…else  If…then…else if…then…else  Στην bash έχουμε το σχήμα : If [expression]; then [code if expression=true] else [code is expression=false] fi Σημείωση : το “else if” συντάσσεται ως «elif»

Conditionals - Παράδειγμα  Προσοχή στα κενά στον κώδικα ! #v1=5 #v2=3 #if [ $v1>$v2 ]; then echo v1 else echo v2 fi Ερώτηση : Τι θα τυπωνόταν αν είχαμε «else echo $v1»;

Loops- FOR Η προτεινόμενη δομή για την επαναληπτική δομή FOR είναι : START=1 END=10 for ((i=START; i<=END; i++)) do echo "i: $i" done

Loops While - Until WHILE COUNTER=0 while [ $COUNTER -lt 10 ]; do echo The counter is $COUNTER let COUNTER=COUNTER+1 done UNTIL COUNTER=20 until [ $COUNTER -lt 10 ]; do echo COUNTER $COUNTER let COUNTER-=1 done Προσοχή στο “-lt” που έχει τη σημασία του τελεστή « μικρότερο από »

Functions function quit { exit } function hello { echo Hello! } #hello #quit

Functions with parameters function quit { exit } function e { echo $1 } Τι κάνει η συνάρτηση e; #e Hello #e World #quit

User Input echo Please, enter your name read NAME echo "Hi $NAME!“ echo Please, enter your firstname and lastname read FN LN echo "Hi! $LN, $FN !"

Arithmetics echo 1+1 Αν θέλαμε να δούμε 2 τότε κάναμε λάθος ! Πώς θα το γράψουμε ; echo $((1+1)) ή echo $[1+1] Τι θα εμφανιστεί ως έξοδος της εντολής echo $[3/4]; Η echo πάντα θα μας εμφανίσει ακέραιο ! Δοκιμάζουμε όμως την εντολή : echo "3/4"| bc Τώρα ;