Bash
展開輸入、輸出或錯誤
我想要做的是要求使用者輸入一行並發送到標準輸出。
我嘗試獲取輸入以執行條件問題,但無法擴展輸入(在本例中是輸入 0,但可以是輸出 1 或錯誤 2)。在這種情況下,我想詢問並從標準輸入讀取使用者輸入並發送到標準輸入/輸出,然後驗證是否有某些東西(如果非零)。程式碼看起來像(在這種情況下可能看起來很困惑,您可以跳過並使用上面的描述)
#!/usr/bin/bash read>&0 if [[ -n $my_input_expanded ]] ; then echo "hello word" fi
這裡
read
起到詢問使用者輸入的作用(可以是另一個命令,但我不知道哪個可以在這裡),變數 $my_input_expaded 是一些類似輸入重定向的操作0>
(我知道這只是到文件,但是是這樣的),但重定向是輸入的擴展。
您確實應該學習初學者指南,而不是嘗試猜測語法。Shell 腳本很奇怪。真的。這是一個執行您所描述的版本:
#!/bin/sh # read a line of text into the variable "$line" IFS= read -r line # check if the result contains any text if [ -n "$line" ] then # it does, so output a simple response including the given text echo "hello: $line" fi