Saya pikir saya mengerti perbedaan antara interaktif, login dan shell batch. Lihat tautan berikut untuk bantuan lebih lanjut:
- Apa perbedaan antara shell bash 'Login' dan 'Interaktif' (dari situs saudara:serverfault.com)
- 2.1:Jenis shell:shell interaktif dan login (dari Panduan Pengguna ke Z-Shell )
Pertanyaan saya adalah, bagaimana saya bisa menguji dengan perintah/kondisi jika saya menggunakan shell interaktif, login, atau batch?
Saya mencari perintah atau kondisi (yang mengembalikan true
atau false
) dan bahwa saya juga dapat menempatkan pernyataan if. Misalnya:
if [[ condition ]]
echo "This is a login shell"
fi
Jawaban yang Diterima:
Saya mengasumsikan bash
shell, atau yang serupa, karena tidak ada shell yang tercantum dalam tag.
Untuk memeriksa apakah Anda berada di shell interaktif:
[[ $- == *i* ]] && echo 'Interactive' || echo 'Not interactive'
Untuk memeriksa apakah Anda berada di shell login:
shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'
Dengan "batch", saya berasumsi maksud Anda "tidak interaktif", jadi pemeriksaan untuk shell interaktif sudah cukup.
Linux – Bagaimana Tepatnya Grub Stage1, Mengakses/memuat Tahap 2?
Linux – Apa yang Dilakukan 'membuat Localmodconfig'?