Prečo "echo "qwerty" | /bin/sh" vrátiť "/bin/sh: 1: qwerty: not found"?

0

Otázka

Viem, že echo príkaz zobrazí riadok textu, ktorý je odovzdaný ako argument.

Takže syntax echo "qwerty" bude zobrazenie:

qwerty

ale keď som zlúčiť predchádzajúcich syntax s | /bin/sh zobrazí sa nasledujúce hlásenie:

/bin/sh: 1: qwerty: nenájdené

Ja by som chcel vedieť, prečo pomocou bitwise ALEBO prevádzkovateľ (t. j. | ) toto spôsob, ako skončiť s takýmto výkonom.

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

Najlepšiu odpoveď

1

| nie je bitwise ALEBO operátora.[1] je To potrubia operátora. To spôsobí, že stdout na predchádzajúci program, privádzaný na stdin z nasledujúceho programu.

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

To ukazuje wc ("word count") čítanie výstup printf a tlač z skutočnosť, že dostal 2 riadky, 3 slová a 12 bytov.

Vo vašom prípade, sh číta jeho stdin pre príkazy (z dôvodu neprítomnosti oboch -c možnosť a názov súboru argument), a preto považuje qwerty ako príkaz vykonať.


  1. To môže byť bitwise ALEBO v aritmetický kontexte pri používaní bash a možno aj iných kotlov v "sh rodiny". Že to nie je tento prípad, aj keď ste boli pomocou bash.
2021-11-24 05:43:21

V iných jazykoch

Táto stránka je v iných jazykoch

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