pmav99 Δημοσ. 27 Σεπτεμβρίου 2018 Δημοσ. 27 Σεπτεμβρίου 2018 Το myprogram που στέλνει το output? Στο stdout ή αλλού; Μόλις το τσέκαρα και το tee δουλεύει κανονικά... $ cat foo.sh echo 1 sleep 1 echo 2 sleep 1 echo 3 $ chmod +x foo.sh $ ./foo.sh | tee out.txt 1 2 3 $ cat out.txt 1 2 3
imitheos Δημοσ. 27 Σεπτεμβρίου 2018 Δημοσ. 27 Σεπτεμβρίου 2018 Μόλις τώρα, jim_p είπε Με το watch νομιζω... Το εχω χρησιμοποιησει μια μονο φορα για να βλεπω τα σκαμπανεβασματα του σηματος του wifi απο το /proc/kati. Το watch σου επιτρέπει να δεις συνεχόμενα την έξοδο ενός προγράμματος ώστε να προσέξεις κάποια αλλαγή που σε ενδιαφέρει όπως στην περίπτωση με το wifi σου. Ο tr3quart1sta θέλει κάτι άλλο. Τρέχει το πρόγραμμά του και πετάει την έξοδό του στο tee ώστε και να αποθηκεύσει την έξοδο στο αρχείο και να την βλέπει ταυτόχρονα στην οθόνη. Επειδή όμως υπάρχει μεγάλο buffer, αντί να βλέπει κάθε γραμμή όπως τυπώνεται, η συμπεριφορά είναι να περιμένεις να συμπληρωθεί το buffer και να βλέπεις ταυτόχρονα πχ 10 γραμμές. 9 λεπτά πριν, tr3quart1sta είπε Πως μπορω να δω το output του tee "live"? Εχω ενα script που τρεχει κανα 10λεπτο και παραγει text το οποιο θα θελω να το βλεπω στην κονσολα και στο τελος να το αποθηκευει σε textfile. Με το myprogram | tee myfile.txt ομως δεν βλεπω τιποτα στην κονσολα την ωρα που τρεχει και μου τα βγαζει μαζεμενα στο τελος. Αν το πρόγραμμά είναι δικό σου μπορείς ανάλογα την γλώσσα να βάλεις κώδικα που να αφαιρέσει το buffering. Αν είναι κάποιο binary τότε πρέπει να χρησιμοποιήσεις κάποιο εξωτερικό πρόγραμμα όπως το stdbuf των coreutils. stdbuf -oL ./myprogram | tee myfile.txt Το παραπάνω επιλέγει line buffering οπότε θα πρέπει να βλέπεις κάθε γραμμή όπως έρχεται. Επίσης μπορείς να δοκιμάσεις και με -o0 για καθόλου buffering. 1 1
imitheos Δημοσ. 28 Σεπτεμβρίου 2018 Δημοσ. 28 Σεπτεμβρίου 2018 Μια και είδα ότι αντέδρασες, για πες έπαιξε ? Το tee είναι λίγο παράξενο από την άποψη ότι αλλάζει πολλές παραμέτρους και σου βάζει εμπόδια. Το λέει και στην manpage του stdbuf ότι με το tee μπορεί να μην παίζει σωστά.
tr3quart1sta Δημοσ. 29 Σεπτεμβρίου 2018 Δημοσ. 29 Σεπτεμβρίου 2018 15 ώρες πριν, imitheos είπε Μια και είδα ότι αντέδρασες, για πες έπαιξε ? Το tee είναι λίγο παράξενο από την άποψη ότι αλλάζει πολλές παραμέτρους και σου βάζει εμπόδια. Το λέει και στην manpage του stdbuf ότι με το tee μπορεί να μην παίζει σωστά. Οχι ακομα δεν μου το εμφανιζει, αλλα ειχα ξεχασει να αναφερω οτι τα στελνω στο background και λεω ισως γιαυτο να μην παιζει. Αλλα μετα βρηκα ενα τροπο να τρεχω τα tasks ξεχωριστα, οποτε δεν μου ειναι τοσο απαραιτητο τωρα.
tritonas00 Δημοσ. 9 Νοεμβρίου 2018 Δημοσ. 9 Νοεμβρίου 2018 Θελω να κανω sort array με items της μορφης Backup-YYYY-MM-DD Με απλο for a in "${array[@]}"; do echo "$a"; done | sort -n ειμαστε οκ? Παιζει να failαρει πουθενα?
imitheos Δημοσ. 9 Νοεμβρίου 2018 Δημοσ. 9 Νοεμβρίου 2018 23 λεπτά πριν, tritonas00 είπε Θελω να κανω sort array με items της μορφης Backup-YYYY-MM-DD Με απλο for a in "${array[@]}"; do echo "$a"; done | sort -n ειμαστε οκ? Παιζει να failαρει πουθενα? [Offtopic που δεν παρέχει βοήθεια στον tritona00] Φτάνουμε 2019 και οι καημένοι στο villaBASHo ακόμα τρίβουν. #!/bin/zsh array=( \ "Backup-2014-02-01" \ "Backup-2015-03-04" \ "Backup-2013-02-01" \ ) echo Before echo ${array[@]} echo echo Asc # Σημαία επέκτασης που δηλώνει να επιστραφεί η παράμετρος αφού πρώτα ταξινομηθεί με αύξουσα σειρά # Το n είναι για αριθμητική ταξινόμηση αλλά στην παρούσα περίπτωση μπορούσαμε να βάλουμε # και σκέτο o/O αντί για n/On echo ${(n)array} echo Desc # Το ίδιο για φθίνουσα echo ${(On)array} echo Lower # Θέλεις για κάποιο λόγο να βεβαιωθείς ότι δεν έχεις mixed-case γράμματα; echo ${(L)array} # Και άλλα χίλια δύο πράγματα κατευθείαν χωρίς εξωτερικά προγράμματα Έξοδος: Before Backup-2014-02-01 Backup-2015-03-04 Backup-2013-02-01 Asc Backup-2013-02-01 Backup-2014-02-01 Backup-2015-03-04 Desc Backup-2015-03-04 Backup-2014-02-01 Backup-2013-02-01 Lower backup-2014-02-01 backup-2015-03-04 backup-2013-02-01 Βάλτε nova ZSH
tritonas00 Δημοσ. 9 Νοεμβρίου 2018 Δημοσ. 9 Νοεμβρίου 2018 (επεξεργασμένο) Τελικα ειναι ok? Ουτε -n δεν χρειαζεται να φανταστω? (τον μπριζωνω) Επεξ/σία 9 Νοεμβρίου 2018 από tritonas00
pmav99 Δημοσ. 9 Νοεμβρίου 2018 Δημοσ. 9 Νοεμβρίου 2018 Καλά άμα βάλει zsh στο star παίζει να πέσει το line count στο 1/3
imitheos Δημοσ. 9 Νοεμβρίου 2018 Δημοσ. 9 Νοεμβρίου 2018 12 λεπτά πριν, tritonas00 είπε Τελικα ειναι ok? Ουτε -n δεν χρειαζεται να φανταστω? (τον μπριζωνω) Δεν ξέρω να σου πω στα σίγουρα. Έτσι που το βλέπω κάτι δεν μου αρέσει αλλά δεν μπορώ να σκεφτώ τι (και ίσως να είναι κάτι σχετικό με το zsh και όχι με το bash μια και έχω χρόνια να ασχοληθώ σοβαρά με bash) Κάνε ένα τεστ με τα στοιχεία του array να έχουν κενά στο όνομά τους (πχ Backup 2018 - 11 - 01.bkp) και αν παίζει και τότε, χρησιμοποίησε το. 1
tritonas00 Δημοσ. 9 Νοεμβρίου 2018 Δημοσ. 9 Νοεμβρίου 2018 (επεξεργασμένο) παντα κοιταω αυστηρα για Backup-YYYY-MM-DD οτιδηποτε αλλο δεν μπαινει στο array οσο το εχω τσεκαρει παιζει κομπλε Επεξ/σία 9 Νοεμβρίου 2018 από tritonas00
imitheos Δημοσ. 9 Νοεμβρίου 2018 Δημοσ. 9 Νοεμβρίου 2018 19 λεπτά πριν, tritonas00 είπε παντα κοιταω αυστηρα για Backup-YYYY-MM-DD οτιδηποτε αλλο δεν μπαινει στο array οσο το εχω τσεκαρει παιζει κομπλε Ναι εντάξει τότε είσαι οκ. Είναι δική μου παραξενιά α) να ελέγχω αν παίζει με ονόματα που έχουν κενά και μη-ascii χαρακτήρες ακόμη και αν δεν μιλάμε για user input αλλά ορίζω εγώ πώς θα είναι. Καμμιά φορά τυχαίνει ενώ έχεις κάποια αυστηρή συνθήκη (πχ πάντα Backup-YYYY-MM-DD pattern), στο μέλλον να υλοποιήσεις κάτι άλλο που να χαλαρώνει την αυστηρή συνθήκη και να αρχίσει να ... ο δίας από εκεί που έπαιζαν όλα σωστά. Ενώ αν όλος ο κώδικάς σου παίζει στο χειρότερο σενάριο θα παίζει και στο καλώς ορισμένο αυστηρό σενάριο σου. β) να έχω τα πάντα quoted ακόμη και αν δυσκολεύει τον κώδικα και πρέπει να βάλω παραπάνω δικλείδες γιατί αν είναι τα πάντα quoted αποφεύγονται λάθη χαζομάρας. Πόσες φορές δεν έχει γίνει από λάθος rm -rf /usr _κενό_ /lib/τάδε και σβήστηκε ολόκληρο το /usr το οποίο θα το αποφεύγαμε αν ήταν rm -rf "/usr _κενό_ /lib/τάδε". 1
pmav99 Δημοσ. 10 Ιανουαρίου 2019 Δημοσ. 10 Ιανουαρίου 2019 Σωστά χρώματα στο terminal ανεξαρτήτως terminal emulator! https://github.com/chriskempson/base16-shell 2
mad-proffessor Δημοσ. 11 Ιανουαρίου 2019 Δημοσ. 11 Ιανουαρίου 2019 Για όσους φανατικούς zshellers πάντως πρέπει να έχουν (και) bash ένα φοβερό framework/ecosystem παρόμοιο του oh-my-zsh, είναι το bash-it. Θα το βρείτε στο GitHub.
imitheos Δημοσ. 11 Ιανουαρίου 2019 Δημοσ. 11 Ιανουαρίου 2019 [παράξενος παππούς mode] In my days δεν είχε oh-my-zsh και τέτοια. Διαβάζαμε τους δύο οδηγούς (οι οποίοι ήταν καμμιά 600αριά σελίδες και ειδικά στο κομμάτι της completion ήταν ψιλο-ακαταλαβίστικοι) για να "φτιάξουμε" το zshrc μας. [/παράξενος παππούς mode]
rearshooter Δημοσ. 6 Φεβρουαρίου 2019 Δημοσ. 6 Φεβρουαρίου 2019 μιας που παίζω και γω με zsh ξέρετε τι γίνεται με την αντιστοίχιση των ?d?a ?1?1?1 κτλ στο hashcat? σε bash εννοείται διαβάζονται αλλά σε zsh όχι...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα