Προς το περιεχόμενο

Linux shell scripting 2 απορίες έχω φάει φρίκη!


xalia

Προτεινόμενες αναρτήσεις

Δημοσ.

Φρίκη number 1

παίρνω έναν αριθμό με read και θέλω αν ο αριθμός είναι μεγαλύτερος από 10 να μου βγάζει blabla αν είναι μικρότερος από 10 να βγάζει bloublou, και όμως το if με αγνοεί και δε συγκρίνει αριθμό!

Τόσο δύσκολο είναι να γίνει μία σύγκριση με αριθμούς??

 

φρίκη number 2

έχω ένα scriptaki που παίρνει ένα file name και μου δείχνει τα περιεχόμενα με cat, τι πιο απλό! Αν όμως δε πάρει όνομα θέλω να με ξαναρωτάει! Τι while $file = “” δοκίμασα τι while $file= null τίποτα!!

 

όχι τίποτα άλλο την έχει πληρώσει το keyboard...

Δημοσ.

Για τη φρίκη νο. 1, πώς ακριβώς κάνεις τη σύγκριση; (Δείξε μας τον κώδικά σου κοινώς).

 

Για τη φρίκη νο 2, δες τα conditionals του bash. Συγκεκριμένα μπορείς να κάνεις ένα if [ -z $file ] για να δεις αν το $file είναι κενό string ;-)

 

Γενικά `info bash' αν δεν το έχεις κάνει ήδη ;-)

Δημοσ.

apoikos τρέχω να δοκιμάσω το κενό string!

 

για το 1

 

echo "enter your age"

read age

if [ "$age" > 65 ]

echo "too old"

else

if ["$age" < 22 ]

echo "too young"

else echo "ok"

 

με απλά λόγια αν είναι πάνω από 65 να λέει too old αν είναι κάτω απο 22 too young και αν είναι ανάμεσα 22-65 οκ!

Δημοσ.

Χεχε, μάστορα δε γράφεις C, shell scripting κάνεις. Τα > και < κάνουν redirect στο bash. Για να συγκρίνεις μέγεθος πρέπει να κάνεις:

>
if [ $age -gt 65 ]; then
 echo "too old"
else if [ $age -lt 22 ]; then
 echo "too young"
else
 echo "ok"
fi

 

Επειδή μάλλον δεν το έχεις ψάξει πολύ το θέμα, ξεκίνα από 'δω:

http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html

;-)

Δημοσ.

apoikos respect! δίνεις ρέστα!

το βιβλίο στη σχολή "Guide to Unix Using Linux" είναι για τα μπάζα!

πάω για ενημέρωση στο faq

χίλια ευχαριστώ!

 

ps: έπεσες μέσα, αυτό το semester έχω πάρει και C

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...