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

看板Linux作者 (黑駿)時間15年前 (2010/11/30 09:53), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串3/4 (看更多)
謝謝~~用方法二可以跑了~~~ 用方法一還是不行= = 但是我在工作站裡找不到 dialog 的範例0.0 在 /usr/share/doc/ 裡沒有,man dialog 也沒有例子… 工作站環境:FreeBSD 8.1-RELEASE ※ 引述《Storm.bbs@bbs.sayya.org (風)》之銘言: : 參考 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。 -- 光明 的背後 是 黑暗 黑暗 的背後 還是 黑暗 由此可知 黑暗 > 光明 Q.E.D. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.92.43

11/30 09:58, , 1F
看起來法一法二都是去找上一個指令的回傳值
11/30 09:58, 1F

11/30 09:58, , 2F
所以關鍵是 $? 這個變數
11/30 09:58, 2F

11/30 10:03, , 3F
耶,不對,法二居然是用answer這個檔案在紀錄耶
11/30 10:03, 3F

11/30 10:18, , 4F
法一是用tag接回傳值...$? 似乎是接上個指令回給系統的值
11/30 10:18, 4F
文章代碼(AID): #1Cz5apmb (Linux)
討論串 (同標題文章)
文章代碼(AID): #1Cz5apmb (Linux)