[英]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.