Dialog cannot open tty-output

dialog บน Oracle Enterprise Linux และ Ubuntu ไม่เหมือนกัน (ทำไมล่ะ…ไม่ทราบครับ)

สร้างสคริปต์ชื่อ file.sh มีข้อความว่า

#!/bin/bash
FILE=$(dialog --ascii-lines --title "Delete a file" --stdout \
--title "Please choose a file to delete" --fselect /tmp/ 14 48)
echo $FILE

บน Ubuntu รันได้ผลลัพธ์
Ubuntu's Dialogแต่บน Oracle Enterprise Linux
Oracle Enterprise LInux' Dialog-_-

ต้องเปลี่ยนสคริปต์มีสองแบบ
แบบแรก
#!/bin/sh
dialog --ascii-lines --title "Delete a file" --stdout \
--title "Please choose a file to delete" --fselect /tmp/ 14 48 2>/tmp/file.tmp
echo $(cat /tmp/file.tmp)

แบบที่สอง
#!/bin/bash
FILE=$(dialog --ascii-lines --title "Delete a file" --stdout \
--title "Please choose a file to delete" --fselect /tmp/ 14 48 2>&1>/dev/tty)
echo $FILE

ผลลัพธ์ของทั้งสองแบบให้ผลเหมือนกันคือ
Oracle Enterprise Linux's Dialog2จบ..วันนี้ห้วนไปหน่อย ขอให้สนุกครับ

Leave a Reply