[ 新規 ] [ 検索 | 一覧 | FrontPage ] [ 履歴 (RSS) | 差分履歴 (RSS) ] [ ログイン ]
【PR】Amazon | SL-C3000 | SL-C1000(3/18発売!) | SL-C860 | SL-6000W | SL-6000L | SL-6000N

qshdlg/iselectの置き換え

差分表示


編集前の状態に戻します。
iselectを使用したスクリプトをqshdlgに置き換える

* 置き換え例

** iselect版スクリプト

 #!/bin/sh
 cat > list.txt <<"EOF"
 A<S:0>
 B<S:1>
 ---
 END<S:100>
 EOF
 
 TITLE=DEMO
 
 while [ 1 ]
 do
 ret=`iselect -t $TITLE < list.txt`
 case $ret in
  0)
    TITLE="A"
    ;;
  1)
    TITLE="B"
    ;;
  100)
    exit 0
    ;;
 esac
 done

** qshdlg版スクリプトその1

 #!/bin/sh
 
 qshdlg -M select &
 
 make_list()
 {
 	echo 'item(QString,QString)' A 0 > /var/spool/qshdlg/control
 	echo 'item(QString,QString)' B 1 > /var/spool/qshdlg/control
 	echo 'label(QString)' '---' > /var/spool/qshdlg/control
 	echo 'item(QString,QString)' END 100 > /var/spool/qshdlg/control
 	echo 'showSelect()' > /var/spool/qshdlg/control
 }
 
 make_list
 while read ret < /var/spool/qshdlg/input
 do
 case $ret in
  0)
    echo "title(QString)" A > /var/spool/qshdlg/control
    make_list
    ;;
  1)
    echo "title(QString)" B > /var/spool/qshdlg/control
    make_list
    ;;
  100)
    echo 'reject()' > /var/spool/qshdlg/control
    ;;
 esac
 done

** qshdlg版スクリプトその2

 #!/bin/sh
 
 qshdlg -M -v "0,1,,100" -l "A,B,---,END" select &
 while read ret < /var/spool/qshdlg/input
 do
 case $ret in
  0)
    echo "title(QString)" A > /var/spool/qshdlg/control
    ;;
  1)
    echo "title(QString)" B > /var/spool/qshdlg/control
    ;;
  100)
    echo 'reject()' > /var/spool/qshdlg/control
    ;;
 esac
 done


02671