Saya memiliki skrip yang saya jalankan yang menulis file teks, lalu membukanya di editor. Jika saya membuka jendela terminal emulator di sesi desktop saya dan menjalankan skrip, saya ingin editor menjadi seperti grafis gedit
. Tetapi, jika saya login melalui ConnectBot di ponsel saya atau yang serupa (tidak ada sesi desktop), saya ingin menjadi editor nano
.
Saat ini saya harus memelihara 2 skrip yang berbeda, identik kecuali untuk langkah terakhir (atau biarkan satu grafis berjalan, galat, lalu buka file secara manual nano
). Memiliki dua skrip yang hampir sama tidak efisien dari sudut pandang pemeliharaan.
Bisakah skrip mendeteksi dari situasi mana saya berada, dan membuka editor yang benar?
(Saya telah menemukan cara skrip untuk mendeteksi apakah skrip berjalan di jendela terminal emulator atau diklik dua kali, tetapi belum menemukan cara untuk mendeteksi apakah jendela tersebut berjalan di desktop ... Saya tidak berpikir saya tahu terminologi yang benar ke google untuk)
$EDITOR
secara default alih-alihnano
, dan mundurnano
jika tidak disetel.