我知道該echo命令顯示作為引數傳遞的文本行。
所以語法echo "qwerty"將顯示:
QWERTY
但是當我將先前的語法與| /bin/sh以下訊息合并時,會顯示:
/bin/sh: 1: qwerty: 未找到
我想知道為什么以|這種方式使用按位或運算子(即)會得到這樣的輸出。
uj5u.com熱心網友回復:
|不是按位 OR 運算子。[1]這是一個管道運算子。它導致前面程式的標準輸出通過管道傳輸到后面程式的標準輸入。
$ printf 'abc def\nghi\n' | wc
2 3 12
這顯示wc(“字數”)讀取輸出printf并列印出它收到 2 行、3 個字和 12 個位元組的事實。
在您的情況下,sh讀取命令的標準輸入(由于缺少-c選項和檔案名引數),因此將其qwerty視為要執行的命令。
- 在使用
bash“sh 系列”中的其他外殼時,它可以在算術背景關系中按位或進行運算。即使您使用bash.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/368550.html
下一篇:意外標記“完成”附近的語法錯誤?
