εργαλείο "source" στο linux

Συζητήσεις σχετικά με θέματα που αφορούν λειτουργικά συστήματα (Linux, *BSD, MacOS, Windows, κτλ.) .
Post Reply
User avatar
Luke
Gbyte level
Gbyte level
Posts: 1388
Joined: Wed Aug 09, 2006 11:19 am
Academic status: Alumnus/a
Gender:

εργαλείο "source" στο linux

Post by Luke » Tue Jan 08, 2008 1:05 am

Ελπίζω να ποστάρω στο σωστό subforum...

Ξέρετε μήπως τι ακριβώς κάνει το εργαλείο "source" στο linux; Βρήκα κάτι στο internet εδώ, αλλά κάτι λέει για tcl interpreter και δεν έχω ιδέα.

Προσπαθώ να κάνω compile και να τρέξω μια κατανεμημένη εφαρμογή (το Globus για όσους γνωρίζουν) αλλά την έχω περάσει σε Windows μηχάνημα. Στις οδηγίες λέει ότι για linux πρέπει να τρέξεις από κονσόλα:

Code: Select all

source <path>/globus-devel-env.sh
όπου globus-devel-env.sh το σκριπτάκι που τρέχει.

Υπάρχει κι ένα batch αρχείο που είναι έτοιμο, το globus-devel-env.bat που προφανώς χρησιμοποιείται σε windows. Tι πρέπει λοιπόν να κάνω και πώς μπορώ να το χρησιμοποιήσω για να έχω το ίδιο αποτέλεσμα με την παραπάνω εντολή;
Είμαι ένας μοναχικός cowboy...
*estrngd
Mbyte level
Mbyte level
Posts: 612
Joined: Thu Dec 16, 2004 1:45 pm
Academic status: N>4
Gender:
Contact:

Re: εργαλείο "source" στο linux

Post by *estrngd » Wed Jan 09, 2008 7:09 pm

Τρέχεις source arxeio.sh από τον φλοιό που βρίσκεσαι και το ερμηνεύει ο φλοιός που βρίσκεσαι με τα διάφορά του μαζί (ακόμα κι αν είναι γραμμένο σε άλλον φλοιό και δηλωμένο σε αυτόν στην αρχή του => λάθη) ...
User avatar
Luke
Gbyte level
Gbyte level
Posts: 1388
Joined: Wed Aug 09, 2006 11:19 am
Academic status: Alumnus/a
Gender:

Re: εργαλείο "source" στο linux

Post by Luke » Wed Jan 09, 2008 10:07 pm

Αυτό αν κατάλαβα καλά όσον αφορά τη λειτουργία του γενικά.

Μήπως ξέρεις τι πρέπει να κάνω προκειμένου να τρέξω το αντίστοιχο bat σε windows και να έχω το ίδιο αποτέλεσμα;
Είμαι ένας μοναχικός cowboy...
*estrngd
Mbyte level
Mbyte level
Posts: 612
Joined: Thu Dec 16, 2004 1:45 pm
Academic status: N>4
Gender:
Contact:

Re: εργαλείο "source" στο linux

Post by *estrngd » Thu Jan 10, 2008 11:25 am

Δεν ξέρω τι περιέχει το .sh αρχείο. Πολύ πιθανόν να αναφέρεται σε πράγματα που δεν βρίσκονται πουθενά στα Window$.
Σε ένα search στο google, είδα κάπου ότι το βήμα του να τρέξεις το sh το παραλείπεις για το πρόγραμμα που λες.

Αυτό που ξέρω είναι ότι τα .bat απλώς εκτελούνται. Αν δεν είναι πολύ μεγάλο το .bat, πάρε μια-μια τις γραμμές και δοκίμασε να το κάνεις χειρονακτικά, αν πρέπει να το εκτελέσεις.
User avatar
Luke
Gbyte level
Gbyte level
Posts: 1388
Joined: Wed Aug 09, 2006 11:19 am
Academic status: Alumnus/a
Gender:

Re: εργαλείο "source" στο linux

Post by Luke » Sat Jan 12, 2008 1:26 am

*estrngd wrote:Δεν ξέρω τι περιέχει το .sh αρχείο. Πολύ πιθανόν να αναφέρεται σε πράγματα που δεν βρίσκονται πουθενά στα Window$.
Σε ένα search στο google, είδα κάπου ότι το βήμα του να τρέξεις το sh το παραλείπεις για το πρόγραμμα που λες.

Αυτό που ξέρω είναι ότι τα .bat απλώς εκτελούνται. Αν δεν είναι πολύ μεγάλο το .bat, πάρε μια-μια τις γραμμές και δοκίμασε να το κάνεις χειρονακτικά, αν πρέπει να το εκτελέσεις.
To αρχείο sh στο οποίο αναφέρομαι πρέπει να εκτελεστεί σε linux. Στα windows τελικά παίζει απλά εκτελώντας το bat, όπως λες. Ούτε source χρειάζεται, ούτε τίποτα άλλο. Επιπλέον έπρεπε να ορίσω και κάποιες local variables για κάθε νέα κονσόλα που άνοιγα κι αυτό ήταν ένα από τα άλλα λάθη που έκανα. Τελικά, με αυτές τις διορθώσεις στο χειρισμό από μέρους μου τα προβλήματα διορθώθηκαν και τελικά επιτέλους το σύστημα έτρεξε. :)
Είμαι ένας μοναχικός cowboy...
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Re: εργαλείο "source" στο linux

Post by HdkiLLeR » Sat Jan 12, 2008 1:04 pm

Είχα στήσει παλιότερα 3 globus-boxes αλλά ήταν όλα σε Linux. Που ακριβώς έχεις κολήσει μιας και ξέρω ότι η διαδικασία δεν είναι καθόλου trivial.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
Luke
Gbyte level
Gbyte level
Posts: 1388
Joined: Wed Aug 09, 2006 11:19 am
Academic status: Alumnus/a
Gender:

Re: εργαλείο "source" στο linux

Post by Luke » Sat Jan 12, 2008 4:00 pm

Προσπαθούσα να τρέξω ένα απλό παράδειγμα, οδηγίες εδώ. Όμως είχα κάποια κολλήματα στο βήμα 3.6, εκεί που φτιάχνεις τον client. Έπρεπε να τρέξω το εξής "source $GLOBUS_LOCATION/etc/globus-devel-env.sh" (οι οδηγίες αναφέρονται προφανώς σε linux) ώστε να γεμίσει το classpath με κάποια απαραίτητα μονοπάτια, το οποίο δε γνώριζα πώς γίνεται σε windows (τελικά αρκούσε να τρέξω το αντίστοιχο bat, όπως αναφέρω παραπάνω) και επιπλέον να θέσω το GLOBUS_LOCATION. Έτσι από εκεί και πέρα γινόταν το compile του client κανονικά. Επιπλέον έπρεπε να τρέξω όλες τις εντολές στην ίδια κονσόλα για να είναι γνωστές οι μεταβλητές που είχα θέσει. Δε γνώριζα ότι οι μεταβλητές αυτές (CLASSPATH και GLOBUS_LOCATION) δεν έχουν εμβέλεια πέρα από την κονσόλα στην οποία έθεσα με "set" την τιμή τους.

Μια και το έχεις στήσει κι εσύ για να ρωτήσω κάτι άλλο...
1. Εκεί που τρέχω την εντολή "globus-start-container -nosec" (βλ. λίγο παρακάτω από την εκτέλεση της "source", chapter 3.6, στο παραπάνω link) επειδή η συγκεκριμένη λειτουργία τρέχοντας "μπλοκάρει" την κονσόλα (εννοώ δεν εμφανίζει ξανά το prompt του cmd από κάτω αλλά δεν ξέρω ποιος είναι ο σωστός όρος για να το περιγράψω) με αναγκάζει να ξεκινήσω μια νέα κονσόλα και να ξαναορίσω τις μεταβητές. Γίνεται με κάποιο τρόπο να το κάνω να τρέξει παρασκηνιακά ώστε να μπορώ να κάνει όλη τη δουλειά στην ίδια κονσόλα;

2. Για να μην ορίζω κάθε φορά όλες τις μταβλητές για κάθε κονσόλα θα έπαιζε η περίπτωση να αποθηκεύσω τις μεταβλητές μου ως μεταβλητές περιβάλλοντος; Βασικά ρωτώ γιατί το classpath βγαίνει αρκετά μεγάλο (12-13 γραμμές σε full παράθυρο του notepad ). Λογικά δεν πρέπει να υπάρχει κάποιο πρόβλημα, έτσι;

Αυτή τη στιγμή το πρόβλημα λύθηκε, έστω με αυτό το απλό παράδειγμα για την ώρα. Αν χρειαστώ κάτι παραπάνω στην πορεία θα ξαναρωτήσω. :-)
Είμαι ένας μοναχικός cowboy...
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Re: εργαλείο "source" στο linux

Post by HdkiLLeR » Sat Jan 12, 2008 8:08 pm

Luke wrote: Μια και το έχεις στήσει κι εσύ για να ρωτήσω κάτι άλλο...
1. Εκεί που τρέχω την εντολή "globus-start-container -nosec" (βλ. λίγο παρακάτω από την εκτέλεση της "source", chapter 3.6, στο παραπάνω link) επειδή η συγκεκριμένη λειτουργία τρέχοντας "μπλοκάρει" την κονσόλα (εννοώ δεν εμφανίζει ξανά το prompt του cmd από κάτω αλλά δεν ξέρω ποιος είναι ο σωστός όρος για να το περιγράψω) με αναγκάζει να ξεκινήσω μια νέα κονσόλα και να ξαναορίσω τις μεταβητές. Γίνεται με κάποιο τρόπο να το κάνω να τρέξει παρασκηνιακά ώστε να μπορώ να κάνει όλη τη δουλειά στην ίδια κονσόλα;
Ουσιαστικά θέλεις το & που υπάρχει στο command line του Unix (και φυσικά σε κάθε νέο derivative, π.χ. Linux ). Απ' όσο γνωρίζω το command line (cmd.exe) των Windows δεν έχει κάτι αντίστοιχο οπότε θα πρέπει να τρέξεις κάθε batch file που σου κάνει lock το console σε διαφορετική κονσόλα κάθε φορά.
Luke wrote: 2. Για να μην ορίζω κάθε φορά όλες τις μταβλητές για κάθε κονσόλα θα έπαιζε η περίπτωση να αποθηκεύσω τις μεταβλητές μου ως μεταβλητές περιβάλλοντος; Βασικά ρωτώ γιατί το classpath βγαίνει αρκετά μεγάλο (12-13 γραμμές σε full παράθυρο του notepad ). Λογικά δεν πρέπει να υπάρχει κάποιο πρόβλημα, έτσι;
Ναι μπορείς, απλά φρόντισε να μην ξαναθέτει τπτ το εκάστοτε batch file απο πάνω (βέβαια εάν είναι η ίδια τιμή δεν υπάρχει πρόβλημα).

Btw: όταν είχα δοκιμάσει εγώ το globus η windows version μου είχε δημιουργήσει αρκετά προβλήματα, μιας και το core development γίνεται σε linux και πολλά κομμάτια είναι system dependent ανεξάρτητα απο το γεγονός ότι είναι γραμμένο σε Java (έχει πολύ JNI απο κάτω :)). Δεν γνωρίζω τι θέλεις να κάνεις αλλά πρέπει να έχεις αρκετή υπομονή ιδικότερα εάν έχεις σκοπό να το πειράξεις.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
Luke
Gbyte level
Gbyte level
Posts: 1388
Joined: Wed Aug 09, 2006 11:19 am
Academic status: Alumnus/a
Gender:

Re: εργαλείο "source" στο linux

Post by Luke » Sat Jan 12, 2008 10:36 pm

Αφορά την εργασία στο μάθημα των Ασυρμάτων Δικτύων και Κινητών Επικοινωνιών η ενασχόλησή μου με το Globus.
Έχουμε να μελετήσουμε κάποια grid συστήματα (ένα από αυτά είναι και το globus) και στη συνέχεια θα καταλήξουμε στο "καταλληλότερο" που μπορεί να μετατραπεί σε JavaME ώστε να παίζει σε pda και συσκευές με wi-fi ώστε να έχουμε τελικά ένα mobile grid. Επειδή κάτι τέτοιο είναι αρκετά φιλόδοξο και δεν υπάρχει αρκετός χρόνος στα πλαίσια μιας εργασίας ενός μαθήματος μάλλον στο τέλος δε θα πειράξουμε κάτι, απλά δοκιμάζουμε ό,τι έχουμε στη διάθεσή μας και προσπαθούμε να τεκμηριώσουμε όσο καλύτερα γίνεται γιατί θεωρούμε κάποιο καταλληλότερο για mobile έκδοση έναντι κάποιου άλλου.

Το Globus (έστω μόνο το core με το οποίο έχω ασχοληθεί) έχει αντικειμενικές δυσκολίες να είναι ένα από τα υποψήφια, επομένως δεν πρόκειται έτσι κι αλλιώς να το πειράξουμε, απλά είπα αφού το έφτασα μέχρι κάποιο σημείο να μη το αφήσω στο τέλος, έστω κι αν δεν κάνει κάτι τόσο σοβαρό η συγκεκριμένη εφαρμογή που έτρεξα.
Είμαι ένας μοναχικός cowboy...
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Re: εργαλείο "source" στο linux

Post by HdkiLLeR » Sun Jan 13, 2008 1:44 am

Ο Ντίνος την έβγαλε την εργασία αυτή;
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
Luke
Gbyte level
Gbyte level
Posts: 1388
Joined: Wed Aug 09, 2006 11:19 am
Academic status: Alumnus/a
Gender:

Re: εργαλείο "source" στο linux

Post by Luke » Sun Jan 13, 2008 3:05 am

Δεν είμαι σίγουρος αν την έβγαλε ο ίδιος ή την πρότεινε ο κ. Πολύζος πάντως μια και είναι περισσότερο στο δικό του αντικείμενο και στα ενδιαφέροντά του εκείνος μας καθοδηγεί και μας βοηθάει, παρ' όλο που δεν είναι βοηθός του μαθήματος. Βέβαια ήταν επιλογή μας ανάμεσα σε άλλες. Δεν ξέρω κατά πόσο κάναμε την καλύτερη επιλογή, πάντως είναι ενδιαφέρουσα και απ' ό,τι μας είπε ο Ντίνος μπορεί να συνεχιστεί και σαν πτυχιακή αν πάει καλά ως ένα σημείο.
Είμαι ένας μοναχικός cowboy...
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Re: εργαλείο "source" στο linux

Post by HdkiLLeR » Tue Jan 15, 2008 9:48 pm

Nice! Καλή συνέχεια
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Post Reply

Return to “Λειτουργικά συστήματα”