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

Πως να κανω "pause" ενα script σε Perl


Blazz0r

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

Δημοσ.

Καλησπερα ειμαι καινουργιος στον προγραμματισμο, και θα ηθελα μια τελειως απλη βοηθεια.

 

Γραφω σε ubuntu, και εχω το scriptaki με το οποιο αρχιζεις τον προγραμματισμο:

#!usr/bin/perl

print "Hello world\n" ;

 

Το εχω λοιπον στον editor και το εκανα εκτελεσιμο με την εντολη chmod.

Το τρεχω (sto terminal) και το προγραμμα κλεινει αμεσως πριν προλαβω να δω τιποτα. Φανταζομαι οτι λοιπει μια εντολη που να κανει pause το προγραμμα και να περιμενει το χρηστη να το κλεισει;

Δημοσ.
Δεν σου τυπώνει στο terminal το Hello world?

 

Αν το τυπώνει τι άλλο θέλεις να δεις?

 

PS:Και το σωστό είναι

 

#!/usr/bin/perl

 

Ναι οντως. Δεν χερω αν το τυπωνει αυτο λεω. Κλεινει αμεσως, δεν προλαβαινω να δω τιποτα. Το βλεπω στην γραμμη εργαλειων να εμφανιζεται (το τερματικο) αλλα ακαριαια. Χρειαζομαι κατι ωστε να το κλεινω εγω, χειροκινητα.

Δημοσ.

Συνηθισμένη παρανόηση που κάνουν αρκετοί αρχάριοι προγραμματιστές (κυρίως σε Windows βέβαια, αλλά να που συμβαίνει και σε Linux) όταν αρχίζουν να φτιάχνουν τα πρώτα τους console προγραμματάκια, σχεδόν όλοι την πατήσαμε έτσι ακριβώς και δεν καταλαβαίναμε το γιατί.

 

Το σκριπτάκι που έφτιαξες είναι ένα console app, δηλαδή εφαρμογή τερματικού. Όχι μία εφαρμογή γραφικού περιβάλλοντος με την κλασσική event/menu-driven λογική (δηλαδή, να ανοίγει το παράθυρο της εφαρμογής και να περιμένει είσοδο από τον χρήστη). Όταν εκκινείς μία εφαρμογή τερματικού από το γραφικό περιβάλλον μίας διανομής Linux ή από το γραφικό περιβάλλον των Windows ή άλλο λειτουργικό με διπλό κλικ στο εκτελέσιμο αρχείο από κάποιον file manager, αυτό που θα συμβεί κατά πάσα πιθανότητα (εκτός αν έχεις κάνει κανένα περίεργο customization) είναι ότι θα εκκινήσει σε ένα παράθυρο ένα προσωρινό τερματικό και μέσα σε αυτό θα εμφανιστεί το output του προγράμματός σου. Αυτό το τερματικό όμως θα έχει διάρκεια ζωής ακριβώς ίση με τον χρόνο που θα πάρει η ολοκλήρωση της εκτέλεσης του προγράμματός σου. Μόλις το πρόγραμμά σου δηλαδή τερματίσει, θα κλείσει αυτόματα και το παράθυρο του τερματικού, οπότε πάπαλα το output, το έχασες!

 

Αυτό που πρέπει να κάνεις και να σου γίνει συνήθεια είναι να ανοίγεις ο ίδιος ένα τερματικό (στο Ubuntu είναι στο μενού Applications > Accessories > Terminal) και να τρέχεις από εκεί το script. Έτσι, το παράθυρο του τερματικού θα παραμείνει ανοικτό μετά την εκτέλεση του script σου και θα μπορείς να δεις το output μια χαρά.

Δημοσ.

Να σε καλα φιλε λυθηκε το προβλημα :-D και σε ευχαριστω για τα tips. Αισθανομαι αρχαριος τωρα! Εχω και αλλη μια αρχαρια ερωτηση. Χρησιμοποιω emacs, αν το ξερετε (πονταρω ναι), για να γραφω τα scripts και τρεχω τον gdb debugger που ειναι ενσωματομενος στο emacs. Το exec αρχειο μου λεγεται Perl.pl και ο debugger μου λεει πως για να κανω debugg γραφω "file" η "exec-file" και μετα το ονομα του προγραμματος. Γραφω λοιπον exec-file Perl.pl και μου γραφει "not in executable file format: file format not recognized". Ας σημειωθει οτι το εχω κανει executable με το chmod και δοκιμασα και τιν εντολη "file" αλλα τιποτα

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

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

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