4 votes

Que signifie rm -rf $( !!) sous MacOS ?

Je sais que rm -rf est une suppression forcée de tout ce qui se trouve dans un répertoire donné. Mais je ne comprends pas ce que rm -rf $( !!) va faire sur la ligne de commande.

Comment puis-je consulter cette syntaxe ou comprendre ce qu'elle va faire ?

9voto

nohillside Points 82672
  • !! est une commande historique de bash il est remplacé par la dernière commande que vous avez exécutée. Vous pouvez essayer ls suivi par echo !!
  • $(...) exécute la substitution de commande, la sortie d'une commande remplace le nom de la commande (la partie comprise dans l'intervalle entre le nom de la commande et le nom de l'utilisateur). () ). Encore une fois, echo $(!!) permet d'illustrer ce point

Alors rm $(!!) supprime tous les fichiers dont les noms sont imprimés après la réexécution de la dernière commande. Faites attention aux noms de fichiers contenant des espaces ou des caractères spéciaux tels que * ou ? ou ~ il ne fonctionnera pas pour ceux-là, ou bien il supprimera un ensemble de fichiers différent de celui auquel vous pensez.

Compte tenu des risques, il est probablement plus sûr de courir echo PATTERN vérifiez le résultat et remontez d'une ligne dans l'historique, remplacez echo par rm et exécutez ceci. Au lieu de revenir en arrière, vous pouvez aussi simplement exécuter ^echo^rm^ (qui utilise l'expansion de l'historique pour remplacer la commande utilisée dans la ligne précédente).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X