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

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

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

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

Δημοσίευσηαπό ftso » 01 Απρ 2011, 04:13

εγώ πάντως δεν κατάλαβα τίποτα από αυτά που γράφεις!
λίγο αλλόκοτα φαίνονται.
επίσης προσπάθησε να χρησιμοποιείς greeklish για αρχή μέσα στον κώδικα...
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

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

Δημοσίευσηαπό clepto » 01 Απρ 2011, 07:38

να σου εξηγήσω...θέλω το τερματικό να μου κάνει την ερώτηση τι ώρα είναι και μετά να διαβάζει την απάντηση μου, και ανάλογα με την απάντηση μου να μου βγάζει και κάτι διαφορετικό για αυτό θέλω να χρησιμοποιήσω την if...ελπίζω να σε βοήθησα να καταλάβεις τι ψάχνω!
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

Δημοσίευσηαπό clepto » 01 Απρ 2011, 13:13

το πρόβλημα λύθηκε:
Κώδικας: Επιλογή όλων
echo "Geia sou, mporeis na mou peis to onoma sou?"
read word
echo "To onoma sou einai : $word"

echo "Na sou kanw mia erwthsh? "
read word


if [[ "$word" == n* ]]
then echo "Ti wra einai?"
else echo "Suggnwmh gia thn enoxlhsh"; fi
και το αποτέλεσμα

Κώδικας: Επιλογή όλων
chris@chris-Aspire-5732Z:~$ /home/chris/scripts/read2.sh
Geia sou, mporeis na mou peis to onoma sou?
ΧΡΗΣΤΟΣ
To onoma sou einai : ΧΡΗΣΤΟΣ
Na sou kanw mia erwthsh?
nai
Ti wra einai?
chris@chris-Aspire-5732Z:~$ /home/chris/scripts/read2.sh
Geia sou, mporeis na mou peis to onoma sou?
ΧΡΗΣΤΟΣ
To onoma sou einai : ΧΡΗΣΤΟΣ
Na sou kanw mia erwthsh?
oxi
Suggnwmh gia thn enoxlhsh
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

Δημοσίευσηαπό ftso » 01 Απρ 2011, 15:18

Ωραίος! ;)
Δες τώρα τα παρακάτω, παίξε και απάντησε:
Στην γραμμή...
if [[ "$word" == n* ]]

1)Τι κάνει ακριβώς? Αναλυτικά απο το πρώτο μέχρι το τελευταίο γράμμα. (tip: εντολή test)
2)Ποια η διαφορά με την
if [ "$word" == n ]
3)Ποια η διαφορά με την
if [ $word == n ]
4)Ποια η διαφορά με την
if [[ $word == n* ]]
5)Ποια η διαφορά με την
if [[ "$word" == "n*" ]]
6)Ποια η διαφορά με την
if [[ '$word' == n* ]]
7)Ποια η διαφορά με την
if [ "$word" == n* ]

Στην ουσία ποια είναι η διαφορά με τις μονές και διπλές παρενθέσεις?
Τι ρόλο παίζουν τα αυτάκια, μονά και διπλά στην κάθε περίπτωση αλλά και γενικά?

Αυτά είναι τα σημεία που μπερδεύουν περισσότερο και αν τα ξεκαθαρίσεις απο τώρα θα γλυτώσεις ώρες παιδέματος στο μέλλον.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

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

Δημοσίευσηαπό clepto » 01 Απρ 2011, 15:37

ευχαριστώ θα το κοιτάξω!
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

Δημοσίευσηαπό clepto » 02 Απρ 2011, 01:02

θέλω να χρησιμοποιήσω if μέσα σε if αλλά δεν μου βγαίνει...υπάρχει κάτι που πρέπει να προσέξω;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

Δημοσίευσηαπό ftso » 02 Απρ 2011, 03:59

Πρόσεξε να τις κλείνεις σωστά.
Δες μια σωστή εκτέλεση:
Κώδικας: Επιλογή όλων

a=1; b=1; z=OK;

if [ $a -eq 1 ]; then
if [ $b -eq 1 ]; then
echo $z;
fi
fi

Επίσης πρόσεξε την στοίχιση του κώδικα.
Όχι ότι διαφορετικά είναι λάθος, αλλά βοηθάει
την ώρα που τον διαβάζεις.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

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

Δημοσίευσηαπό clepto » 02 Απρ 2011, 10:27

αυτή με την στοίχιση το κατάλαβα και εγώ...
πρέπει μετά από τις παρενθέσεις να βάζω και ";" ?
το ";" αν δεν κάνω λάθος δεν σημαίνει ότι τελειώνει μια εντολή;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

Δημοσίευσηαπό ftso » 02 Απρ 2011, 14:03

ναι ακριβώς,
το σύμβολο [ είναι στην ουσία η εντολή test που τελειώνει με ].
εκτέλεσε:
έγραψε:man test


επίσης εκτέλεσε:
Κώδικας: Επιλογή όλων
if ls ; then echo ZZZZZZZZZ ; fi

τι παρατηρείς?
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

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

Δημοσίευσηαπό clepto » 02 Απρ 2011, 14:18

τι παρατηρώ; :P
αν προκύψει κάποιο σφάλμα κατά την εκτέλεση της εντολής ls τότε δεν θα εκτελεστεί το echo ZZZZZZZZZ σωστά;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

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

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