Pourquoi ne "echo "qwerty" | /bin/sh" retour "/bin/sh: 1: qwerty: non trouvé"?

0

La question

Je sais que echo commande affiche la ligne de texte qui est passé en argument.

Donc la syntaxe echo "qwerty" affichage serait:

qwerty

mais quand je fusionne la syntaxe précédente avec | /bin/sh le message suivant s'affiche:

/bin/sh: 1: qwerty: pas trouvé

Je voudrais savoir pourquoi l'aide au niveau du bit OU de l'exploitant (c'est à dire | cette façon de se retrouver avec une telle sortie.

echo sh shell
2021-11-24 05:27:13
1

La meilleure réponse

1

| n'est pas un opérateur de bits or.[1] C'est une pipe de l'opérateur. Il provoque la sortie standard du programme précédent pour être redirigée vers l'entrée standard stdin de la suivante.

$ printf 'abc def\nghi\n' | wc
      2       3       12

Cette montre wc ("word count") la lecture de la sortie de printf et l'impression du fait qu'il a reçu 2 lignes, 3 mots et de 12 octets.

Dans votre cas, sh lit son entrée standard stdin pour les commandes (en raison de l'absence d'un -c option et un argument de nom de fichier), et traite donc de qwerty comme une commande à exécuter.


  1. Il peut être binaire OU en arithmétique contexte lors de l'utilisation de bash et peut-être d'autres coquilles dans le "poisson de la famille". Ce n'est pas le cas ici, même si vous avez été en utilisant bash.
2021-11-24 05:43:21

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................