簡體   English   中英

在bash中使用讀取命令運行功能

[英]Running function with read command in bash

我需要 shell 功能方面的小幫助。 我在內部創建了帶有 read 命令的小函數,我需要調用這個函數並將返回值返回給外部變量

Check()
{
echo "type something : "
read anyword
echo $anyword
}


out=`Check`
echo $out

問題是在我按下回車鍵之前,回聲線沒有顯示任何內容。 我希望這個函數像 python 一樣。

謝謝,

問題是反引號。 如果您在提示結束前按CTRL+C並嘗試回顯$out ,您會注意到您的提示已保存到$out變量中。 將提示移到函數調用之外。 也許這會有所幫助:

Check()
{
    read anyword
    echo $anyword
}

echo "type something : "
out=`Check`
echo $out

如果您專門使用 bash,請考慮read -p

或者,如果您想將提示保留在函數內:

Check()
{
    echo "Type something: " >&2
    read anyword
    echo $anyword
}

這樣,它將寫入 stderr 而不是 stdout,所以它不會被吃掉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM