Pernyataan Masalah: Apa cara paling elegan dan tangguh untuk menguji apakah mintty
bash
sesi Cygwin adalah "Jalankan sebagai administrator"?
Kenapa, secara spesifik? Saya biasanya memiliki beberapa mintty
terminal terbuka saat menggunakan Windows ( mintty
tidak memiliki tab). Yang paling canggung adalah ketika saya harus menemukan jendela terminal yang saya mulai dengan mengklik kanan "Run as administrator" ketika misalnya saya ingin menjalankan ping
atau prosedur satu kali lainnya. Saya ingin menunjukkan "run as administrator" -ness sesi terminal secara visual (dengan mengubah bash
variabel prompt shell PS1
dalam file start-up saya ~/.bashrc
).
Beberapa solusi potensial cepat:
- Saya dapat membandingkan nilai beberapa variabel lingkungan. Dengan cepat melihat
env
output ada banyak perbedaan. Namun sulit untuk mengatakan mana yang paling dapat diandalkan dalam hal portabilitas ke mesin Windows lain (mungkin menjalankan versi Windows yang berbeda). id
, lebih khususid -Gn
menunjukkan grup yang berbeda jika dijalankan sebagai administrator. Di mesin Windows 7 saya, saya memilikiAdministrators
danroot
grup ditambahkan ke daftar. Sekali lagi, saya tidak yakin apakah ini portabel.- Saya bisa mencoba menulis file ke lokasi yang akan gagal sebagai pengguna biasa. Tapi saya tidak ingin menulis file apa pun ke tempat-tempat aneh - ini bisa dalam beberapa skenario yang dibayangkan berpotensi merusak (misalnya gagal media penyimpanan) dan ini tampaknya sama sekali tidak sesuai dengan selera saya.
- Menjalankan beberapa program Windows yang akan ditunjukkan dengan mengembalikan status atau keluaran jika perintah dijalankan "sebagai administrator". Yang terbaik adalah beberapa dengan tujuan analog dengan
id(1)
perintah UNIX (tetapi secara native ada di Windows - atau Cygwin, tetapi tanpa terlalu jauh menerjemahkan konsep sistem Windows ke konsep yang ditiru POSIX).
Ada saran yang lebih baik atau lebih elegan? Mungkin cygwin menyediakan utilitas perintah yang didedikasikan untuk tujuan ini?
Pembaruan: 97% duplikat dari /programming/4051883/batch-script-how-to-check-for-admin-rights/ - perbedaannya hanya ada di sini menggunakan bash
alih-alih (IMHO aneh dan kuno) Windows cmd.exe
. Silakan periksa jawaban dan komentar di sana.
mintty
1. yang dijalankan sebagai administrator, 2. menggunakan file konfigurasi berbeda dengan warna berbeda. pengaturan dan 3. menggunakan ikon alternatif. Jika Anda menjelaskan kepada masyarakat umum cara membuat ini, saya akan memberi Anda upvote (kecuali jika Anda mengatakan dalam jawaban Anda bahwa itu tidak dapat dilakukan dalam skrip :-).
Foo
grup pengguna jika Anda mau.
sudo
yang diperlukan bahkan jika Anda menjalankan sebagai pengguna root.