Re: [問題] Shell Script如何讀dialog的回傳值?

看板Linux作者時間15年前 (2010/11/30 04:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《darkgerm.bbs@ptt.cc (黑駿)》之銘言: > 小弟正在學寫 Shell Script > 想用 dialog 畫出互動介面 > 所以寫了下面這行: > dialog --menu "MENU" 9 20 2 1 op1 2 op2 > 選完後應該會回傳我選的 tag > 所以我就寫: > tag=$(dialog --menu "MENU" 9 20 2 1 op1 2 op2) > 結果卻跑不動...執行到這行就像死掉一樣 > 隨便按一鍵就會出現壞掉的menu,而且 tag 也沒有正常讀入0.0 > 到底要怎麼讀到 dialog 的回傳值?? > 謝謝>"< 參考 dialog 的範例 (可能在 /usr/share/doc/dialog/ 中,各 distro 可能會略有不同),應該可以找到答案。 方法一: #!/bin/bash tag=$(dialog --menu "MENU" 9 20 2 1 op1 2 op2 2>&1 1>&3) status=$? case $status in 0) echo "tag=${tag}";; 1) echo "cancel pressed";; esac 方法二: dialog --menu "MENU" 9 20 2 1 op1 2 op2 2>answer status=$? tag=$(cat answer) case $status in 0) echo "tag=${tag}";; 1) echo "cancel pressed";; esac 其餘細節請參考 dialog 文件中的範例 script 以及 manpage。 -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: c-76-111-34-186.hsd1.ga.comcast.net
文章代碼(AID): #1Cz0P-CL (Linux)
討論串 (同標題文章)
文章代碼(AID): #1Cz0P-CL (Linux)