2010-09-18 6 views
0

Parfois, lorsque je tape une commande dans bash, je saisis par erreur le caractère \ à la fin, car il est proche de la touche Entrée. Chaque fois que je fais cela, je reçois une invite sur la ligne suivante, comme ceci:Sortie mystérieuse pour <cmd> suivi de ou `

>_ 

La même sortie est produite lorsque le caractère `est utilisé.

Qu'est-ce que cela fait exactement à la commande?

Y a-t-il d'autres caractères (à part \ et `) qui donnent une sortie similaire?

Répondre

4

le caractère \ vous permet de casser votre commande en plusieurs lignes:

$ grep "hello" /tmp/file 

est équivalent à:

$ grep "hello" \ 
> /tmp/file 

le caractère ' et " vous permet de définir des chaînes multilignes et le ` est un moyen d'utiliser la sortie d'une commande comme argument à l'autre. $(command) fait la même chose.

chaque fois que vous voyez

> 

cela signifie que la syntaxe de commande n'est pas complète. Certaines constructions de shell doivent également être terminées, comme si, pour, si ...

La variable > affichée peut être configurée avec la variable d'environnement PS2.

comme l'a demandé, voici un exemple en utilisant `: suppose que j'ai une liste de fichiers dans filelist.txt:

$ cat filelist.txt 
a.c 
a.h 
Makefile 
test.cfg 
[...] 

je veux connaître le nombre de lignes dans chacun de ces fichiers. la commande serait wc -l a.c a.h Makefile [...]. d'utiliser la sortie du cat filelist.txt comme arguments pour wc -l, je peux utiliser:

$ wc -l ` 
> cat filelist.txt 
> ` 
+0

pouvez-vous donner un exemple pour l'utilisation de 'aussi? –

+0

Un conseil concernant \: si vous écrivez une commande, puis Ctrl-C, il n'apparaîtra pas dans l'historique. Mais si vous mettez \, et appuyez sur Entrée, puis Ctrl-C, il le fera. – ustun

1

Il peut être parce que vous avez oublié de fermer la ` ou ' ou "

1

. \ est le caractère de continuation de ligne.A la fin d'une ligne, la ligne suivante est considérée comme un prolongement de la ligne en cours

` est un retour arrière. les creux contenaient des retours à la ligne dans presque toutes les citations/crochets. Vous verrez un comportement similaire (continuation de ligne) avec " et ' ainsi que () et {}.

Questions connexes