Ευχαριστώ, το eval δούλεψε. Δεν ξέρω τι προβλήματα μπορεί να δημιουργήσει, αλλά η συγκεκριμένη περίπτωση είναι απλή, οπότε πρέπει να είναι οκ.
- - - Updated - - -
Άλλη ερώτηση:
Τα && δεν αφήνουν τις παρακάτω εντολές να συνεχίσουν αν επιστρέψει κάποιο από τα script_[ab] exit code μη μηδενικό. Πως κάνω το ίδιο να γίνει για το script_c;Κώδικας:for i in {1..5}; do script_a && script_b && script_c; done
Εμφάνιση 1.561-1.575 από 2222
Θέμα: Ερώτηση για bash
-
24-07-21, 16:43 Απάντηση: Ερώτηση για bash #1561
-
24-07-21, 17:47 Απάντηση: Ερώτηση για bash #1562
Δεν κατάλαβα τι θέλεις να κάνεις εδώ. Τι να γίνει το ίδιο δηλαδή για το c αφού δεν έχει κάτι άλλο μετά;
Έτσι όπως το καταλαβαίνω, αν το a αποτύχει, θα εκτελεστεί 5 φορές μόνο το a. Αν το a πετύχει αλλά αποτύχει το b, θα εκτελεστούν 5 φορές τα a και b. Αν επιτύχουν τα a και b, θα εκτελεστούν 5 φορές και τα τρία scripts. Αν αποτύχει το c, τι θέλεις να γίνεται; Να σταματάει εντελώς ο βρόχος; Αν ναι, βάλε script_c || break.
Edit: Άσχετο, έχει κάτι το φόρουμ ή εγώ βλέπω βλακείες; Μου εμφανίζει ότι έκανα post στις 16:47 ενώ το έκανα στις 17:47."I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
24-07-21, 18:11 Απάντηση: Ερώτηση για bash #1563
Εδώ το δείχνει πως το έκανες στις 5 όπως λες.
-
24-07-21, 18:28 Απάντηση: Ερώτηση για bash #1564
-
26-07-21, 13:58 Απάντηση: Ερώτηση για bash #1565
-
28-07-21, 09:47 Απάντηση: Ερώτηση για bash #1566
Εναλλακτικά στο παραπάνω, αν δεν θες την eval, μπορείς να πετύχεις το ίδιο αλλάζοντας μόνο την πρώτη γραμμή σε
Κώδικας:years=$(echo {2015..2100})
-
28-07-21, 13:14 Απάντηση: Ερώτηση για bash #1567
-
28-07-21, 21:59 Απάντηση: Ερώτηση για bash #1568
Χμ σωστά. Λάθος μου. 'Αρα την eval δεν την αποφεύγεις.
Αυτό που μπορείς να κάνεις βέβαια είναι να την περάσεις μέσα στην έκφραση με $(eval echo) ωστε περιορίσεις τη ζημιά αν πάει να γίνει.
Πχ αντί για
Κώδικας:eval tar tvf lala.tar --wildcards --no-anchored ${years}"*
Κώδικας:tar -xvf ${file_tar} --wildcards --no-anchored $(eval echo ${months}${years}.*aij*${run}.nc)
Τελευταία επεξεργασία από το μέλος Eruyome(MMXGN) : 28-07-21 στις 22:05.
-
29-07-21, 20:10 Απάντηση: Ερώτηση για bash #1569
Μάλλον εννοείς $(eval ${years}). Θα το δοκιμάσω, δεν είναι κακή ιδέα.
-
04-08-21, 23:21 Απάντηση: Ερώτηση για bash #1570
-
05-08-21, 23:31 Απάντηση: Ερώτηση για bash #1571
Μια άλλη επιλογή είναι να ενεργοποιηθεί το set -e. Με τον τρόπο αυτό όποια εντολή επιστρέψει error code το script θα σταματήσει. Επίσης έτσι δεν χρειάζεται να κάνεις chaining με το &&
https://stackoverflow.com/questions/...-a-bash-script
-
06-08-21, 11:07 Απάντηση: Ερώτηση για bash #1572
-
14-08-21, 20:54 Απάντηση: Ερώτηση για bash #1573
Θέλω να τρέξω
Κώδικας:ls -lat | head ls -lat | tail
Κώδικας:ls -lat | head && ls -lat | tail
-
14-08-21, 21:36 Απάντηση: Ερώτηση για bash #1574
ls -lat | tee >(head) >(tail)
-
15-08-21, 10:22 Απάντηση: Ερώτηση για bash #1575
Παρόμοια Θέματα
-
Βοήθεια για ένα απλό bash script
Από AddictedToChaos στο φόρουμ Unix - LinuxΜηνύματα: 34Τελευταίο Μήνυμα: 22-07-11, 01:57 -
bash - matlab
Από simeon.mattes στο φόρουμ Unix - LinuxΜηνύματα: 25Τελευταίο Μήνυμα: 25-06-08, 23:00 -
Bash Script help (Αρχάριος)
Από weakwire στο φόρουμ Unix - LinuxΜηνύματα: 12Τελευταίο Μήνυμα: 08-05-07, 00:41 -
bash rename (mv)
Από hayzel στο φόρουμ Unix - LinuxΜηνύματα: 6Τελευταίο Μήνυμα: 07-01-07, 16:33
Bookmarks