如果我所說的這樣的腳本如何捕獲傳輸到shell腳本的數據?
echo "some text" | myscript
如何在腳本一起工作捕獲「一些文本」。在這種情況下,也許將其分配給一個變量。
我一直在谷歌搜索,但我想我沒有使用正確的術語來找到我在找什麼。
如果我所說的這樣的腳本如何捕獲傳輸到shell腳本的數據?
echo "some text" | myscript
如何在腳本一起工作捕獲「一些文本」。在這種情況下,也許將其分配給一個變量。
我一直在谷歌搜索,但我想我沒有使用正確的術語來找到我在找什麼。
來自上一個命令的所有數據(在你的情況下爲echo
)將在管道中的下一個命令的STDIN上可用。只需使用內置的read
即可捕獲它。這裏是一個方式來捕捉在單線上`閱讀:
echo "some text" | { IFS= read -r line; echo "line=[$line]"; }
line=[some text]
或者你甚至可以使用默認REPLY
變量:
echo "some text" | { IFS= read -r; echo "line=[$REPLY]"; }
line=[some text]
你是問如何在腳本中使用標準輸入? – 123
我這麼認爲,但我不確定。就腳本而言,我對stdin並不熟悉。通常我會爲我的腳本使用參數,但由於我在這裏要做的事情,這不適用於這種特殊情況。 – Trel
它看起來像它,雖然我把它固定在一個while循環中,所以我可以在一個變量中得到它。 – Trel