Shell Script如何讀dialog的回傳值? - Linux

Table of Contents

謝謝~~用方法二可以跑了~~~

用方法一還是不行= =

但是我在工作站裡找不到 dialog 的範例0.0

在 /usr/share/doc/ 裡沒有,man dialog 也沒有例子…

工作站環境:FreeBSD 8.1-RELEASE

※ 引述《[email protected] (風)》之銘言:
: 參考 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.

--

All Comments

Annie avatarAnnie2010-11-30
看起來法一法二都是去找上一個指令的回傳值
所以關鍵是 $? 這個變數
Isabella avatarIsabella2010-12-05
耶,不對,法二居然是用answer這個檔案在紀錄耶
Eartha avatarEartha2010-12-09
法一是用tag接回傳值...$? 似乎是接上個指令回給系統的值