2 votes

Comment modifier le style d'échappement lors du dépôt de chemins dans le terminal ?

Si je dépose un fichier du Finder (ou d'une autre source de fichiers) dans le terminal, le système échappe les caractères comme les espaces : Déposer un fichier nommé /Lorem Ipsum.txt donne /Lorem\ Ipsum.txt .

Je voudrais modifier ce comportement pour utiliser des guillemets à la place, de sorte que /Lorem Ipsum.txt donnerait '/Lorem Ipsum.txt' à la place (notez les guillemets simples et la barre oblique inversée manquante).

Y a-t-il un moyen de faire cela en utilisant le Terminal.app standard ? Sinon, est-il possible de le faire avec iTerm ou quelque chose d'autre ?

Modifier

La raison pour laquelle je veux faire cela est que j'utilise xonsh qui analyse le backslash comme un caractère littéral, echo /Lorem\ Ipsum.txt imprime /Lorem\ Ipsum.txt .

La plupart du temps, je supprime manuellement les barres obliques inversées, et parfois j'utilise la solution suivante :

  1. Entrez @(r"
  2. Déposer le fichier - cela remplira une chaîne littérale avec le chemin d'accès en utilisant les caractères d'annulation.
  3. Entrez ".replace("\\",""))

0 votes

Une solution de contournement : créer un shell script nommé quote avec le contenu echo "'$@'" pour effectuer la conversion.

0 votes

Y a-t-il une raison sous-jacente de préférer les guillemets aux caractères d'échappement ou est-ce purement esthétique ?

0 votes

@hlf : En raison de mon shell, le script recevrait plusieurs paramètres. /Lorem` and Ipsum.txt`, mais vous avez raison, je pourrais créer un script qui fait la conversion.

1voto

Zabba Points 26372

Je peux confirmer que l'iTerm2 fait exactement ce que vous voulez en ce qui concerne la mise entre guillemets des noms de fichiers et de répertoires longs au lieu d'échapper aux espaces lors du glisser-déposer. Il le fait par défaut.

Il existe de nombreuses autres raisons et avantages de passer du terminal par défaut de MacOS à iTerm2. Il y en a beaucoup trop pour les énumérer ici.

Mise à jour pour iTerm 3.4

iTerm 3.4 a modifié le comportement d'échappement pour utiliser également l'échappement des barres obliques inversées. Cependant, il existe une fonctionnalité expérimentale avancée Échapper les noms de fichiers avec des guillemets simples au lieu de backslashes. qui renvoie la fuite en arrière. Le commentaire précise même mon cas d'utilisation : Ceci est destiné aux utilisateurs de xonsh, qui n'accepte pas l'échappement des backslashs.

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