Τα πάντα για το Bash...

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό lepidas » 08 Αύγ 2013, 11:19

Tassos10 έγραψε:@lepidas Σε ευχαριστώ για την απάντηση, αλλά δε σε πολύ κατάλαβα, μπορείς να μου εξηγήσεις περισσότερο;

@headless Σε ευχαριστώ επίσης.
Μόνο να σας ρωτήσω - ξεκαθαρίσω κιόλας. Το σύστημα που έχει το ubuntu ( και ίσος και όλες οι διανομές linux, δε γνωρίζω τέλος πάντων ) για τις ειδοποιήσεις που βγάζει πάνω δεξιά σε ένα συννεφάκι "χτυπώντας" και ένα ήχος μαζί λέγετε απλά notify ;
Γιατί είχα την εντύπωση πως λέγεται κάπως αλλιώς.
Έπειτα είπα να τα πάρω από την αρχή, έτσι βρήκα αυτό που λες για το σκέτο notify-send "καλημέρα" π.χ. που στέλνει το καλημέρα σαν ειδοποίηση σε ένα συννεφάκι όπως ήθελα, αλλά :
1) Όπως είπα, πως γίνεται να βάζω να τρέχει κάτι από την εκκίνηση του ubuntu ;
2) Πως γίνεται να βάλω ( αν τελικά γίνεται με απλά ένα notify-send ) να βάλω σε αυτό και ήχο να χτυπάει.
3) Επειδή νομίζω πως δε γίνεται με απλή εντολή ( notify-send κάτι... ) να ενσωματώσω να βλέπει κάπως και την ώρα από το σύστημα και να μου λέει π.χ. "Τάσο πήγε 12 η ώρα" , για αυτό το λόγο είπα π.χ. αντί για python με bash κάτι τέτοιοι ίσος γινόταν πολύ πιο εύκολα και για αυτό έκανα εδώ το post αυτό.


δες εδω πολλα παραδειγματα για το crontab https://www.google.com/search?client=ub ... 8&oe=utf-8

με λιγα λογια το crontab ειναι ενας τροπος να προγραμματισεις το Linux(οποιαδηποτε διανομη) να κανει συγκεκριμενα πραγματα συγκεκριμενο λεπτο μέσα στο έτος με μια γραμμη μεσα στο αρχειο crontab
στη γραμμη αυτη θα πρεπει υποχρεωτικα να θεσεις 6 πεδια, λεπτα, ωρα,ημερομηνια,μηνα,ημερα εβδομαδας και εντολη που θα εκτελεστει, εαν παραλειψεις ενα απο αυτα τοτε δεν θα κανει τιποτα
πχ για να εκτελεσει ενα σκριπτ αυριο 9/8/2013 και ωρα 09:52 η γραμμη θα ειναι
52 09 9 8 * /home/script.sh (το αστερακι παιζει το ρολο του μπαλαντερ)
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Tassos10 » 08 Αύγ 2013, 12:15

Μου το αναφέρεις, για αυτό που ρωτάω για το πως μπορώ να βάλω κάτι να εκτελείται κατά την εκκίνηση του συστήματος; Γιατί αν δε κάνω λάθος πρέπει να υπάρχει και πιο εύκολος τρόπος.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό lepidas » 08 Αύγ 2013, 13:33

τι να εκτελειται κατα την εκκίνηση του συστήματος? εσυ δε θες να εκτελεις κατι κατα την εκκινηση του συστηματος, εσυ θελεις να εκτελεις κατι στις 12:00
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Tassos10 » 08 Αύγ 2013, 16:19

Για να είμαι ειλικρινείς θέλω και τα δύο.
Απλώς νόμιζα πως με ένα bash script, αν υπήρχε κανένα τέτοιο scriptακι και κατάφερνα το ένα θα ψηλό κατάφερνα ίσος μόνος μου και άλλο...να έκανα κάτι σαν προγραμματάκι που να το βάλω να τρέχει π.χ. από την εκκίνηση, από όταν ανοίγει το ubuntu (αυτό πρέπει να γίνεται και με κάποιο πρόγραμμα που έχει το σύστημα, αλλά δε ξέρω πιο είναι ) και ανάλογα π.χ. όταν ανοίγω το pc να μου λέει "καλημέρα Τάσο" και μετά στης 12 να μου πετάει μήνυμα σε ειδοποίηση πάλι "πάνε πιες καφέ" π.χ. :P κάτι τέτοιο ^_^! Κατάλαβες φίλε; :)
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό lepidas » 08 Αύγ 2013, 16:57

αν θες να τρεχεις κατι κατα την εκκινηση βαλε το μεσα στο αρχειο /etc/rc.local πχ /home/tassos/goodmorning
οπου goodmorning θα ειναι το αρχειο με οτι περιεχομενο θελεις make me a sandwich κλπ
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Tassos10 » 09 Αύγ 2013, 07:59

Α! μόλις το βρήκα, αυτό εδώ δε θυμόμουν :
Εικόνα

^_^!
Το ίδιο είναι και με το να ανοίξω το αρχείο rc.local ( /etc/rc.local ) και να προσθέσω μια γραμμή κάτω από το "exit 0" ( μόνο αυτό γράφει σε εμένα όλα τα άλλα είναι σχόλια ) είτε π.χ. την εντολή sudo make me a sandwich , είτε να βάλω την διαδρομή του αρχείου που θέλω να τρέξει, π.χ. "/home/tassos/goodmorning" όπως είπες φίλε και θα τρέξει κατά την εκκίνηση;

Ωραία πάει αυτό λοιπόν. Τώρα :

Tassos10 έγραψε:
Καταρχήν, το σύστημα που έχει το ubuntu ( και ίσος και όλες οι διανομές linux, δε γνωρίζω τέλος πάντων ) για τις ειδοποιήσεις που βγάζει πάνω δεξιά σε ένα συννεφάκι "χτυπώντας" και ένα ήχος μαζί λέγετε απλά notify ;
Γιατί είχα την εντύπωση πως λέγεται κάπως αλλιώς.
Έπειτα είπα να τα πάρω από την αρχή, έτσι βρήκα αυτό που λες για το σκέτο notify-send "καλημέρα" π.χ. που στέλνει το καλημέρα σαν ειδοποίηση σε ένα συννεφάκι όπως ήθελα, αλλά :
1) Όπως είπα, πως γίνεται να βάζω να τρέχει κάτι από την εκκίνηση του ubuntu ; (οκ)

2) Πως γίνεται να βάλω ( αν τελικά γίνεται με απλά ένα notify-send ) να βάλω σε αυτό και ήχο να χτυπάει ( πρέπει να βάλω κάποια παράμετρο; ). (?)

3) Επειδή νομίζω πως δε γίνεται με απλή εντολή ( notify-send κάτι... ) να ενσωματώσω να βλέπει κάπως και την ώρα από το σύστημα και να μου λέει π.χ. "Τάσο πήγε 12 η ώρα" , για αυτό το λόγο σκέφτηκα π.χ. αντί για python, με bash κάτι τέτοιοι ίσος γινόταν πολύ πιο εύκολα και για αυτό έκανα εδώ το post αυτό.
Πως γίνεται λοιπό σε ένα bash script να βάλω την ώρα του συστήματος;
π.χ. να βάλω κάπως την ώρα που λέει ο υπολογιστής μου και να λέω για αρχή έστω, απλώς εκτύπωσε μου την ώρα ( τι ώρα είναι τώρα ) (?)
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό lepidas » 09 Αύγ 2013, 09:06

@Tassos10,
μέσα στο /etc/rc.local πρίν το "exit 0" ;)
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Tassos10 » 09 Αύγ 2013, 19:18

lepidas έγραψε:@Tassos10,
μέσα στο /etc/rc.local πρίν το "exit 0" ;)


Θα το έχω υπόψιν μου, σε ευχαριστώ φίλε! ;)
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-50-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.2.0-49-generic
3 Intel Core2 Quad CPU Q9400 2.66GHz ‖ RAM 3954 MiB ‖ ASRock G31M-S
4 nVidia G92 [GeForce 9800 GT] [10de:0614] {nvidia}
5 eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02)
Tassos10
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 472
Εγγραφή: 29 Μαρ 2010, 10:43
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό fkol k4 » 20 Δεκ 2013, 10:44

Πολλές καλημέρες!

Έχω κολλήσει στο εξής:
Ας πούμε πως σε κάποιον φάκελο μεταξύ άλλων αρχείων έχουμε μια σειρά από αρχεία του τύπου file1, file2, file3, file4, file5, file6 κ.ο.κ.
Ας υποθέσουμε πως είναι αρχεία backup.
Για να δούμε πόσα τέτοια έχουμε, έχουμε την ls file*
Αν θέλουμε να δούμε τα 2 (για παράδειγμα) τελευταία από αυτά, τότε δίνουμε ls file* | tail -n 2
Πως μπορούμε να εξαιρέσουμε αυτά τα δύο από μια εντολή διαγραφής;
Δηλαδή κάτι σαν
Κώδικας: Επιλογή όλων
for i in $(ls file*)
do
if [ το $i δεν ανήκει στην $(ls file* | tail -n 2) ]
then
rm file"$i"
fi
done
Γνώσεις: Linux: ★★★☆☆ Προγραμματισμός: ★☆☆☆☆ Αγγλικά: ★★★★★
Η υπογραφή μου
Οδηγίες για αρχάριους στο Ubuntu (12.04 LTS)Οδηγοί του forum
Άβαταρ μέλους
fkol k4
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4829
Εγγραφή: 28 Φεβ 2011, 22:56
Τοποθεσία: Αθήνα
Launchpad: fkol-k4
IRC: fkol_k4
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό lepidas » 20 Δεκ 2013, 11:01

fkol k4 έγραψε:Πολλές καλημέρες!

Έχω κολλήσει στο εξής:
Ας πούμε πως σε κάποιον φάκελο μεταξύ άλλων αρχείων έχουμε μια σειρά από αρχεία του τύπου file1, file2, file3, file4, file5, file6 κ.ο.κ.
Ας υποθέσουμε πως είναι αρχεία backup.
Για να δούμε πόσα τέτοια έχουμε, έχουμε την ls file*
Αν θέλουμε να δούμε τα 2 (για παράδειγμα) τελευταία από αυτά, τότε δίνουμε ls file* | tail -n 2
Πως μπορούμε να εξαιρέσουμε αυτά τα δύο από μια εντολή διαγραφής;
Δηλαδή κάτι σαν
Κώδικας: Επιλογή όλων
for i in $(ls file*)
do
if [ το $i δεν ανήκει στην $(ls file* | tail -n 2) ]
then
rm file"$i"
fi
done
Καλημερες :) πρεπει να πεις τι διαφορετικο περιμενεις να εχουν τα 2 τελευταια αρχεια σε σχεση με τα πρωτα
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι