[ 新規 | 編集 | 差分 ] [ 検索 | 一覧 | 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

02232