Постановка проблеми: який найелегантніший та надійний спосіб перевірити, чи Cygwin mintty
bash
сеанс "Запустити як адміністратор"?
Чому саме? У мене зазвичай mintty
відкрито кілька терміналів при використанні Windows ( mintty
не має вкладок). Найзручніше, коли мені потрібно знайти вікно терміналу, яке я запустив, клацнувши правою кнопкою миші «Запустити як адміністратор», коли, наприклад, я хочу запустити ping
або іншу разову процедуру. Я хотів би візуально вказати на «запустити як адміністратор» термінального сеансу (змінивши bash
змінну підказки оболонки PS1
у моєму файлі запуску ~/.bashrc
).
Деякі швидкі потенційні рішення:
- Я можу порівняти значення деяких змінних довкілля. Швидкий огляд
env
випуску існує досить багато відмінностей. Однак важко сказати, який найбільш надійний з точки зору переносимості на іншу машину Windows (можливо, працює інша версія Windows). id
, точнішеid -Gn
показує різні групи, якщо вони запускаються як адміністратор. У моїй машині Windows 7 У мене єAdministrators
іroot
групи , додані в список. Знову ж таки, я не впевнений, чи це портативний.- Я міг би спробувати написати файл до місця, яке не вдасться, як звичайний користувач. Але я не хочу писати жодні файли в чужі місця - це в деяких уявних сценаріях може бути руйнівним (наприклад, невдалий носій інформації), і це здається абсолютно неелегантним на мій смак.
- Запуск якоїсь програми Windows, яка вказуватиме статусом повернення чи результатом, якщо команда виконується "як адміністратор". Найкраще було б те, що має аналогічне призначення з
id(1)
командою UNIX (але споконвічно існує в Windows - або Cygwin, але без занадто далеко знайденого перекладу системних концепцій Windows на емульовані POSIX концепції).
Якісь кращі чи елегантніші пропозиції? Можливо, cygwin надає утиліту для команд, призначену для цієї мети?
Оновлення: 97% дублікат /programming/4051883/batch-script-how-to-check-for-admin-rights/ - різниця полягає лише у використанні bash
замість (IMHO дивного та архаїчного) Windows cmd.exe
. Будь ласка, перевірте відповіді та коментарі там.
mintty
1. 1. працює як адміністратор, 2. використовує інший файл конфігурації з різним кольором налаштування та 3. використовує альтернативний значок. Якщо ви опишете широкій публіці, як це створити, я дам вам підсумок (якщо ви у своїй відповіді не скажете, що це неможливо зробити в рамках сценарію :-).
Foo
якщо вона захотіла.
sudo
це потрібно, навіть якщо ви працюєте як користувач root.