Question Que signifie "cd! $" En bash, et quelles autres substitutions comme celles-ci puis-je utiliser?


J'ai vu quelqu'un faire:

cp . yy/
cd !$

la dernière ligne traduite à:

cd yy/

donc je pense !$ signifie "le dernier argument de la ligne précédente".

Ai-je raison?

Y a-t-il une autre substitution de ce genre?

Où puis-je trouver la documentation pour eux?


4
2018-04-30 04:28


origine


Merci! Maintenant que je vois que la question était assez simple et que vous y avez répondu dans les commentaires et que trois d’entre vous ont déjà voté pour la fermer, quelle est la bonne chose à faire? Dois-je le supprimer ou simplement le laisser ici sans réponse? - Sebastián Grignoli
Il sera probablement migré vers le super utilisateur, donc je le laisserais car cela pourrait être utile aux futurs utilisateurs de SU. J'ai aussi jeté une réponse. - chown


Réponses:


!$ est le dernier mot de la dernière commande.

Plus:

!! - dernière commande
!foo - Exécuter la commande la plus récente en commençant par foo (ex. !ps, !mysqladmin)
!foo:p - Commande d'impression qui !foo fonctionnerait, et l'ajouterait comme dernier-né de l'historique des commandes
!$ - Dernier mot de la dernière commande (/path/to/file dans la commande ls -lAFh /path/to/file, -uroot dans mysql -uroot)
!$:p - Imprimer le mot !$ se substituerait
!* - Tous sauf le premier mot de la dernière commande (-lAFh /path/to/file dans la commande ls -lAFh /path/to/file, -uroot dans mysql -uroot)
!*:p - Imprimer des mots qui! * Remplaceraient

^foo^bar - Remplacer foo en dernière commande avec bar, imprimez le résultat, puis exécutez. (mysqladmni -uroot, courir ^ni^in, résulte en mysqladmin -uroot)

{a,b,c} passe des mots à la commande, en remplaçant a, b, et c séquentiellement (cp file{,.bk} court cp file file.bk)

Ctrl + a - Aller au début de la ligne
Ctrl + b - reculer d'un personnage
Ctrl + c - Terminer la commande
Ctrl + d - Supprimer sous le curseur
Ctrl + e - Aller à la fin de la ligne
Ctrl + f - Avancer d'un caractère
Ctrl + k - Supprimer pour EOL
Ctrl + l - Effacer l'écran
Ctrl + r - Rechercher l'historique en arrière
Ctrl + R - Recherche dans l'historique avec plusieurs occurrences
Ctrl + t - Transposer le caractère actuel avec le précédent
Ctrl + u - Supprimer en arrière du curseur
Ctrl + w - Supprimer un mot en arrière
Ctrl + xx - Déplacement entre EOL et la position actuelle du curseur
Ctrl + x @ - Afficher les complétions possibles du nom d'hôte
Ctrl + z - Suspendre / arrêter la commande
Ctrl + x;  Ctrl + e - Modifier la ligne dans votre éditeur préféré

Alt + < - Passer à la première ligne de l'histoire
Alt +> - Passer à la dernière ligne de l'histoire
Alt +? - Afficher la liste d'achèvement en cours
Alt + * - Insérer tous les compléments possibles
Alt + / - Essayez de compléter le nom du fichier
Alt +. - Yank dernier argument à la commande précédente
Alt + b - Recule
Alt + c - Capitaliser le mot
Alt + d - Supprimer le mot
Alt + f - Avance
Alt + l - Faire un mot en minuscule
Alt + n - Recherche dans l'historique non progressif
Alt + p - Rechercher l'historique en arrière non incrémental
Alt + r - Commande de rappel
Alt + t - Transposer le mot actuel avec le précédent
Alt + u - Faire un mot en majuscule
Alt + retour arrière- Supprimer en arrière du curseur

De http://cheat.errtheblog.com/s/bash/.

Aussi, beaucoup de bonnes choses ici: http://www.gnu.org/software/bash/manual/bashref.html
et ici: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_04.html.


9
2018-04-30 04:42