ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

Σχετικά έγγραφα
Shell Scripts. $ friend=nikos $ echo $friend. $ set grep -n friend. [^a-z] π.χ. echo rm??ee*.txt [1] Nikos

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Shell Scripts: loops / if / test

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

Μερικές άλλες χρήσιμες εντολές

Μερικές άλλες χρήσιμες εντολές

ΟΛΑ ΤΑ SCRIPT files πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: $*, : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων. one two third parameter

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

Αβδέλαρου Κωνσταντίνα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στα Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

Work9 REMARKS script file MONAZYGA & MESOS OROS

Λειτουργικά Συστήματα. Άσκηση Πράξη. Shell Programming

Λειτουργικά Συστήματα. Shell Programming

1st exercise of work2 - REMARKS

Εργαστήριο Λειτουργικών Συστημάτων. Shell Programming

Εισαγωγή στα Λειτουργικά Συστήματα

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τµήµα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήµατα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 7ο Εργαστήριο

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:]

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

Επαναληπτικές Ασκήσεις

Το Shell. Προγραμματισμός II 1

Εργαστήριο Λειτουργικών Συστημάτων Ακ. Έτος Άσκηση 3

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

Basic Missions

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στην Tcl. Τί είναι η Tcl;

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Λειτουργικά Συστήματα

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Δομές Επανάληψης. Εισαγωγή στη C++

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Σημειωματάριο Δευτέρας 20 Νοε. 2017

Linux με τη χρήση κονσόλας

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

Προγραµµατισµός 2 The shell

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Ευφυής Προγραμματισμός

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

make Προγραμματισμός II 1

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Συναρτήσεις στο CLIPS. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής

#!/bin/sh #Εμφάνηση μενού του προγράμματος echo "Welcome to a shell implement of Game of Life"

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

FSM Toolkit Exercises

Work12 REMARKS script file lab10 ask1-5 tabbing, ls2, urlparse, times, dates_correct

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

Αλληλεπίδραση με το Matlab

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ I. 1. Εισαγωγή 3 ΠΡΟΛΟΓΟΣ

Matrices and Determinants

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

2. THEORY OF EQUATIONS. PREVIOUS EAMCET Bits.

PowerShell Εαρινό Εξάμηνο

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 5 ο Μέρος 5 ο Μέρος Εντολές Επανάληψης: FOR - WHILE. Περιγραφή

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Εμφάνιση μηνυμάτων ή ενεργοποίηση και απενεργοποίηση της ηχούς εντολών.

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Inverse trigonometric functions & General Solution of Trigonometric Equations

Λειτουργικά Συστήματα

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

LESSON 16 (ΜΑΘΗΜΑ ΔΕΚΑΕΞΙ) REF : 102/018/16-BEG. 4 March 2014

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Λειτουργικά Συστήματα

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

An Inventory of Continuous Distributions

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Transcript:

-n δεν αφήνει γραμμή SCRIPTS FILES ΟΛΑ ΤΑ SCRIPT les πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: chmod +x myscript Παράδειγμα ενός απλού script με όνομα myscript "This is my rst script" -n "I am the user: " whoami Summary7 Ασκ 1 η ls -l egrep '^-' wc -l Ασκ 2 η με ",',\,.. "'" Ασκ 3 η μεταβλητές και με ",' Ασκ 4 η x=`ls -l και και $x με ",' Ασκ 5 η a+b Ασκ 6 η read a Ασκ 7 η $1,..$9 chmod +x myscript./myscript ΠΡΟΣΟΧΗ: ανοίγεις με " κλείνεις με " Βάλτε τις ΑΣΚΗΣΗ 1 : 1 ο script με όνομα myls n "Plithos katalogwn: " ls -l egrep '^d' wc -l n "Plithos arxeiwn: " ls -l egrep -c '^-' n "Plithos krifwn katalogwn: " # ls la egrep ' \.' κτλ. n "Plithos krifwn arxeiwn: " #... chmod +x myls./myls Σχόλια ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ #_test "1.the process id is : $$ and cwd $PWD" '2.the process id is : $$ and cwd $PWD ' 3.the process id is : $$ and cwd $PWD 4.the process id is\ \ :\ \ \ \$\$ and cwd $PWD '5.the process id is : "$$ and cwd $PWD" ' "6.the process id is : '$$' and cwd $PWD"? Tο 5. δίνει το ίδιο με το 2.? Tο 6. δίνει το ίδιο με το 1. chmod +x _test./_test $$ είναι το pid π.χ. 24128 του τρέχοντος shell $PWD είναι το working directory π.χ. /home/student/.. [1] Χωρίς τίποτα δεν ακυρώνει " ακύρωση όλων εκτός $, \,!, " ' ακύρωση όλων ' \ ακύρωση

το = κολλητ ΑΣΚΗΣΗ 3 ΤΙΜΕΣ & ΧΡΗΣΗ ΜΕΤΑΒΛΗΤΩΝ - κενά, αρ. πράξεις #_test3 a=test -bash: B: command not found b=test B c="test C" d="$c + D" TEST C + D "1.a is $a" "2.b is $b" '3.c is $c' "4.c is $c" Διατηρεί τα κενά 5.c is $c Δεν διατηρεί τα κενά "5.d is $d" var1="6 " var2=$((var1 + 2 )) "7.var1 is $var1, var2 is $var2" chmod +x _test3./_test3 Ανάθεση τιμής x=3 Ανάκτηση τιμής $ x Πράξεις ( +,-,*,/) γίνoνται με την expr π.χ. expr $x + $y ή με χρήση $[ ] ή $(( )) π.χ. z=$((x + y )) ΑΣΚΗΣΗ 4 - Εκτέλεση εντολής σε μεταβλητή x=`date` #_test4a x=`ls l` x is $x chmod +x _test4a./_test4a 'x is $x'./_test4b "x is $x"./_test4c Τα ανάποδα εισαγωγικά ` ` προκαλούν εκτέλεση εντολής χωρίς όμως εμφάνιση στην οθόνη (st. output) Αν γίνει εκχώρηση σε μια μεταβλητή το αποτέλεσμα θα επιστραφεί στην μεταβλητή. π.χ. d=`date` ; $d θα εμφανίσει την ημερομηνία. [2]

ΑΣΚΗΣΗ 5 - μεταβλητές, πράξεις #_test5 a=5 b=" 6" c="" d=$((a+5)) e=$((b+5)) f=$((c+5)) chmod +x _test4a To τρέχουμε με./_test4a "d is $d, e is $e, f is $f" d=`expr $a + 5` e=`expr $b+5` f=`expr $c+5` "d is $d, e is $e, f is $f" ΑΣΚΗΣΗ 6 - read #script06 a=5 n "Give me your name: " read name "value of a is $a" "value of name is $name" chmod +x script06./script06 ΑΣΚΗΣΗ 7 - ΠΑΡΑΜΕΤΡΟΙ chmod +x script07 #script07 To τρέχουμε με./script07 "rst parameter : $1"./script07 1 VK "third parameter : $3"./script07 one two 3 4 5 6 7 eight 9 ten 11 "ninth parameter : $9" [3]

"tenth parameter : $10" "eleventh parameter : $11" "No of parameters : $#" "all parameters : $*" "all parameters : $@" shift "rst parameter : $1" "all parameters : $*" $# : το πλήθος των ορισμάτων $*, $@ : Η λίστα (πίνακας) με τα ορίσματα $$ : Το ProcessID του τρέχοντος shell Οι παράμετροι θέσης έχουν τα ονόματα $1, $2, $3 (για πάνω από 9 μεταβλητές χρησιμοποιώ shift ) Σκριπτάκια 9 ης Εργασίας #Μονα-ζυγα ~vassik/bin/odd number=0 -n "Enter a number > " read number "Number is $number" if [ $((number % 2)) -eq 0 ] ; then "Number is even" "Number is odd" if εντολή then κενό (αλλιώς δεν δουλεύει) if [ $num -eq 0 ] #num=0 if [ $num -ne 0 ] #num 0 if [ $num -gt 0 ] #num>0 if [ $num -lt 0 ] #num<0 if [ $num -ge 0 ] #num>=0 if [ $num -le 0 ] #num<=0 1.Μετατρέψτε το ώστε να τρέχει συνεχώς, και να σταματάει μόνο όταν number=0 (while) 2.Να γραφεί πρόγραμμα που διαβάζει n (δίνεται με read) αριθμούς και υπολογίζει το μέσο όρο των ζυγών αριθμών. Προαιρετικά όποιος θέλει υπολογίζει Το πλήθος των αριθμών που δεν ανήκουν στο διάστημα (-20,20) Το πλήθος των αριθμών που είναι πολλαπλάσια του 5 και ταυτόχρονα δεν ανήκουν στο (-20,20). #Aπλό loop ~vassik/bin/loop6 https://linuxcong.org/bash-scriptingtutorial 12.2. Bash while loop (17.Arithmetic) ~vassik/bin/loop6 COUNT=6 # bash while loop while [ $COUNT -gt 0 ]; do Value of count is: $COUNT let COUNT=COUNT-1 # ή COUNT=$((COUNT-1)) ή. http://www.bashguru.com/2010/12/math-inshell-scripts.html You can do maths using any one of the following methods. 1. Using expr command 2 Using $(()) construct. 3 Using let command 4 Using bc command. 5 Using $[] construct. [4] while εντολή do

https://linuxcong.org/bash-scripting-tutorial 9.2. Nested if/ ή ~vassik/bin/nif read choice while [ $choice -eq 4 ]; do if [ $choice -eq 1 ] ; then "You have chosen word: Bash" "You have chosen word: other than Bash" [5]