Khi tôi cố gắng chuyển sang root bằng cách sử dụng, sudo -i
tôi gặp lỗi /var/tmp/sclDvf3Vx: line 8: -i: command not found
... Tuy nhiên, su -
công việc mà tôi sẽ tiếp tục sử dụng. Tôi không có nghĩa là một quản trị viên hệ thống linux nên môi trường vẫn còn khá mù mờ đối với tôi. Tôi đoán câu hỏi của tôi là:
- Tại sao lỗi bị ném?
- Sự khác biệt giữa hai lệnh là gì?
- Tại sao bạn sẽ sử dụng cái này hơn cái kia?
Cập nhật:
Tôi đang sử dụng phiên bản CentOS: CentOS phát hành 6.6 (Cuối cùng)
Đây là đầu ra từ một số lệnh tôi được yêu cầu chạy, trong các bình luận bên dưới.
type sudo
:sudo is /opt/centos/devtoolset-1.1/root/usr/bin/sudo
sudo -V
:/var/tmp/sclIU7gkA: line 8: -V: command not found
grep'^root:' /etc/passwd
:root:x:0:0:root:/root:/bin/bash
Cập nhật:
Điều này đã được thêm vào người dùng không phải root của tôi ~ / .bashrc một thời gian trước vì tôi cần hỗ trợ C ++ 11. Khi tôi nhận xét nó, đăng nhập lại, tôi có thể chạy sudo -i tốt mà không có lỗi.
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
fi
alias
của bạn sudo
chưa?
sudo
không phải là lệnh sudo bình thường. Cho rằng nó không hiểu các tùy chọn của sudo, rõ ràng đó không phải là một điều tiêu chuẩn. Sử dụng /usr/bin/sudo
hoặc hỏi quản trị viên địa phương của bạn (người thực sự nên nói với bạn về điều này khi họ trao cho bạn quyền hạn sudo).
-
thực sự là một (ASCII)-
?