差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行はこのように表示します。
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
02684