Постановка проблеми: який найелегантніший та надійний спосіб перевірити, чи 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. Будь ласка, перевірте відповіді та коментарі там.
mintty1. 1. працює як адміністратор, 2. використовує інший файл конфігурації з різним кольором налаштування та 3. використовує альтернативний значок. Якщо ви опишете широкій публіці, як це створити, я дам вам підсумок (якщо ви у своїй відповіді не скажете, що це неможливо зробити в рамках сценарію :-).
Fooякщо вона захотіла.
sudoце потрібно, навіть якщо ви працюєте як користувач root.
