Αρχική σελίδα » πως να » Πώς να αλλάξετε γρήγορα το πρώτο Word σε μια εντολή μπάσων;

    Πώς να αλλάξετε γρήγορα το πρώτο Word σε μια εντολή μπάσων;

    Εάν η ροή εργασίας σας είναι γεμάτη με πολλές επαναλαμβανόμενες ενέργειες, τότε δεν βλάπτει ποτέ να αναζητήσετε τρόπους βελτίωσης και εξορθολογισμού της ροής εργασίας σας. Η σημερινή θέση Q & A SuperUser έχει μερικές χρήσιμες προτάσεις για έναν αναγνώστη που επιδιώκει να βελτιώσει τη ροή εργασίας του.

    Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.

    Στιγμιότυπο οθόνης από τον Matt Joyce (Flickr).

    Το ερώτημα

    Το νόμισμα αναγνώστη SuperUser θέλει να ξέρει πώς να αλλάξει γρήγορα την πρώτη λέξη σε μια εντολή bash:

    Θα ήθελα να βελτιώσω τη ροή εργασίας μου στο bash και συνειδητοποίησα ότι συχνά θέλω να εκτελέσω την ίδια εντολή σε ένα διαφορετικό εκτελέσιμο αρχείο.

    Μερικά παραδείγματα

    1.) Git

    2.) Bash

    Ξέρω ότι μπορώ να χτυπήσω Ctrl + a έπειτα Del για να καταργήσετε την πρώτη λέξη, αλλά αναρωτιέμαι αν υπάρχει ένας πιο γρήγορος τρόπος για να το κάνετε.

    Υπάρχει ένας πιο γρήγορος τρόπος για το κέρμα να αλλάξει η πρώτη λέξη στις εντολές bash?

    Η απάντηση

    Συνεργάτες SuperUser Spiff, Hastur, jjlin. και ο Gustavo Giraldez έχουν την απάντηση για εμάς. Πρώτα επάνω, Spiff:

    !Το $ επεκτείνεται στην τελευταία λέξη της προηγούμενης εντολής σας. Έτσι θα μπορούσατε να κάνετε:

    Ή

    Τα παραδείγματα σας συνέβησαν να επαναλαμβάνουν μόνο την τελευταία λέξη, έτσι! $ Δούλεψαν καλά. Αν είχατε πραγματικά πολλά επιχειρήματα που θέλατε να επαναλάβετε και απλώς ήθελε να αλλάξετε την πρώτη λέξη, θα μπορούσατε να χρησιμοποιήσετε! *, Η οποία επεκτείνεται σε όλα τα λόγια της προηγούμενης εντολής εκτός από το μηδέν.

    Δείτε την ενότητα "EXPANSION HISTORY" της σελίδας bash man. Υπάρχει μεγάλη ευελιξία εκεί.

    Ακολουθούμενη από την απάντηση του Hastur:

    Θα ήθελα να προσθέσω μια προειδοποίηση (δείτε την απάντηση από το Spiff παραπάνω). Με! $, Δεν έχετε πλήρη οπτικό έλεγχο της γραμμής που τρέχετε. Τα αποτελέσματα μπορεί να είναι βλαβερά μερικές φορές, ειδικά αν υποστείτε εσφαλμένη αποτύπωση. Παίρνει ό, τι χρειάζεται από την ιστορία για να επεκταθεί.

    Έτσι, αν γράψετε την τελευταία εντολή με κενό χώρο στην αρχή, τότε η εντολή αυτή πιθανότατα δεν θα ολοκληρωθεί από την ιστορία. Όταν εκτελέσετε τη νέα εντολή σας με! $, Το κέλυφος δεν θα πάρει τις παραμέτρους από την τελευταία γραμμή εντολών πληκτρολογημένη, αλλά μόνο από το τελευταίο μέρος του ιστορικού.

    Ακολουθούν μερικές χρήσιμες λέξεις και εντολές.

    Στη συνέχεια, η απάντηση από το jjlin:

    Ctrl + a για να πάει στην αρχή της γραμμής, τότε Alt + d για να διαγράψετε την πρώτη λέξη.

    Και η τελική μας απάντηση από τον Gustavo Giraldez:

    Η συντόμευση διαγραφής λέξεων είναι στην πραγματικότητα Meta + d, και Meta συνήθως αντιστοιχίζεται σε Alt σε μηχανές Linux. Σε πλατφόρμες όπου αυτό δεν συμβαίνει, μια εναλλακτική λύση για να πάρετε το Meta τροποποιητής είναι να χρησιμοποιήσει Esc ως πρόθεμα. Μπορείτε να διαβάσετε περισσότερα για το Meta Key εδώ.


    Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.