Δημοσιεύτηκε: 09 Δεκ 2009, 16:39
έγραψε:Ναι,δεν το διατύπωσα σωστά. Λέγοντας "εκτέλεσε την επόμενη εντολή χωρίς να περιμένεις την παρούσα να τελειώσει αλλά μόνο αν η παρούσα εκτελέστηκε με επιτυχία" εννοούσα εντολές σαν την top,να εκτελεστεί η επόμενη αν και μόνο αν η παρούσα (top) τρέχει με επιτυχία, δηλαδή δεν παρουσίασε κάποιο σφάλμα.Εννοείται ότι η επόμενη εντολή δεν περιμένει την top να κλείσει εντελώς,απλά εκτελείται παράλληλα αν η top κατάφερε να ξεκινήσει.
Χμμ... προσπαθώ να καταλάβω τι ακριβώς εννοείς. Ότι και να ζητάς δεν είναι συνδοιασμός των &, &&, βέβαια.
α)Αν θέλεις απλά να τσεκάρεις αν υπάρχει η εντολή που πας να εκτελέσεις και αν ναι να εκτελέσεις άμεσα και την επόμενη, τότε εδώ έχει δύο πολύ καλές λύσεις: http://www.linuxforums.org/forum/linux-programming-scripting/70522-how-check-command-exist.html
Αυτή με το which θα σου την έγραφα κι εγώ. Η άλλη, όμως, είναι με εσωτερική εντολή του bash και τη θεωρώ πιο έξυπνη. Διάβασέ το και αν χρειαστείς διευκρινίσεις εδώ είμαστε όλοι.
β)Αν θέλεις να ξεκινήσεις την επόμενη εντολή μόνο εάν οι 'πρώτες προϋποθέσεις ας πούμε' της εντολής έχουν ικανοποιηθεί (λόγου χάρη σωστές παράμετροι) άσχετα με το τελικό αποτέλεσμα, δεν πιστεύω ότι είναι τόσο εύκολο. Ίσως χρειαστεί να επέμβεις στις ίδιες τις εντολές, ώστε να παίρνεις κάποια συνθήκη για το σημείο που θέλεις. Νομίζω, όμως, ότι το τραβάω πολύ μακριά και δε θα χρειαζόσουν ποτέ κάτι τέτοιο. Αυτό που πρέπει να καταλάβεις είναι ότι κάθε εντολή είναι αυτόνομο πρόγραμμα και από τη στιγμή που θα την τρέξεις μέχρι και το σημείο που θα ολοκληρωθεί, κανένας δεν ξέρει τι γίνεται με την εκτέλεσή της. Άλλωστε είναι και θέμα ασφάλειας!
Εάν έχεις στο νου σου κάτι άλλο, γίνε λίγο πιο συγκεκριμένος και όπου μπορώ θα βοηθήσω.
έγραψε:Και πάλι σε ευχαριστώ πολύ.
Να 'σαι καλά φίλε μου