Khi bạn cung cấp dấu gạch nối kép, trải nghiệm bạn sẽ có giống hệt nếu bạn vừa thực hiện sudo sumà không có dấu gạch nối.
Vượt qua một dấu gạch nối đơn giống hệt như vượt qua -lhoặc --login. Trang hướng dẫn sumô tả hành vi như sau:
Cung cấp một môi trường tương tự như những gì người dùng mong đợi nếu người dùng đăng nhập trực tiếp.
Điều này bao gồm thiết lập thư mục của bạn vào thư mục chính của bạn và thiết lập một loạt các biến môi trường khác.
Truyền một dấu gạch nối kép cho một lệnh thường được sử dụng để đánh dấu sự kết thúc của các cờ dòng lệnh và bắt đầu các đối số không phải là cờ. Ví dụ: nếu bạn chạy, touch -Rbạn sẽ gặp lỗi khi nói rằng -R không phải là một tùy chọn touch, nhưng nếu bạn chạy, touch -- -Rnó sẽ tạo một tệp có tên -R. Điều này đúng với nhiều công cụ dòng lệnh ( ls -Rsẽ thực hiện đệ quy lstrong khi ls -- -Rsẽ thực hiện lstrên một tệp hoặc thư mục có tên -R.
Vì vậy, để bọc này lên, khi bạn vượt qua chỉ -- để sunó về cơ bản là bỏ qua --và hành động như bạn đã không vượt qua bất kỳ tùy chọn nào cả.
sudo su -vàsudo su -lkhác nhau. Trên tài khoản mà tôi chỉ nhập bằng một khóa và tôi có quyền sudo để thay đổi thành một người dùng cụ thể khác,sudo su -thay đổi người dùng mà không gặp vấn đề gìsudo su -lhoặcsudo su --loginsẽ yêu cầu mật khẩu sudo mà tôi không có (mặc dù bằng cách kiểm trasudo -ltôi có thể thực thi/bin/suvới NOPASSWD)