Báo cáo sự cố: Cách thanh lịch và mạnh mẽ nhất để kiểm tra nếu mintty
bash
phiên Cygwin là "Chạy với tư cách quản trị viên"?
Tại sao, cụ thể? Tôi thường có một số mintty
thiết bị đầu cuối mở khi sử dụng Windows ( mintty
không có tab). Khó xử nhất là khi tôi cần tìm một cửa sổ đầu cuối mà tôi đã bắt đầu bằng cách nhấp chuột phải vào "Chạy với tư cách quản trị viên" khi tôi muốn chạy ping
hoặc làm thủ tục một lần khác. Tôi muốn chỉ ra mức độ "chạy như quản trị viên" của phiên cuối cùng một cách trực quan (bằng cách thay đổi bash
biến dấu nhắc shell PS1
trong tệp khởi động của tôi ~/.bashrc
).
Một số giải pháp tiềm năng nhanh chóng:
- Tôi có thể so sánh giá trị của một số biến môi trường. Nhìn nhanh
env
ra sản phẩm có khá nhiều điểm khác biệt. Tuy nhiên, thật khó để nói cái nào đáng tin cậy nhất về tính di động đối với một máy Windows khác (có lẽ đang chạy phiên bản Windows khác nhau). id
, cụ thể hơnid -Gn
hiển thị các nhóm khác nhau nếu chạy với tư cách quản trị viên. Trong máy Windows 7 của tôi, tôi cóAdministrators
vàroot
các nhóm được thêm vào danh sách. Một lần nữa, tôi không chắc chắn nếu điều này là di động.- Tôi có thể cố gắng viết một tập tin đến một vị trí sẽ thất bại như người dùng bình thường. Nhưng tôi không muốn ghi bất kỳ tập tin nào vào những nơi xa lạ - điều này có thể trong một số tình huống tưởng tượng có khả năng phá hủy (ví dụ như không lưu trữ phương tiện lưu trữ) và điều này dường như hoàn toàn không phù hợp với sở thích của tôi.
- Chạy một số chương trình Windows sẽ cho biết bằng trạng thái trả về hoặc đầu ra nếu lệnh được chạy "với tư cách quản trị viên". Tốt nhất là một số mục đích tương tự như
id(1)
lệnh UNIX (nhưng thực chất tồn tại trong Windows - hoặc Cygwin, nhưng không có quá nhiều bản dịch của các khái niệm hệ thống Windows sang các khái niệm mô phỏng POSIX).
Bất kỳ đề nghị tốt hơn hoặc thanh lịch hơn? Có lẽ cygwin cung cấp một tiện ích lệnh dành riêng cho mục đích này?
Cập nhật: 97% trùng lặp /programming/4051883/batch-script-how-to-check-for-admin-rights/ - sự khác biệt chỉ ở đây khi sử dụng bash
thay vì (IMHO kỳ lạ và cổ xưa) Windows cmd.exe
. Xin vui lòng kiểm tra câu trả lời và bình luận ở đó.
mintty
1. chạy với tư cách quản trị viên, 2. sử dụng tệp cấu hình khác nhau với màu khác nhau cài đặt và 3. sử dụng một biểu tượng thay thế. Nếu bạn mô tả cho công chúng biết cách tạo ra điều này, tôi sẽ cung cấp cho bạn một upvote (trừ khi bạn nói trong câu trả lời của mình rằng nó không thể được thực hiện trong một tập lệnh :-).
Foo
nhóm người dùng nếu bạn muốn.
sudo
là bắt buộc ngay cả khi bạn đang chạy như một người dùng root.