Wenn ich versuche, mit root zu root zu wechseln, sudo -ierhalte ich die Fehlermeldung /var/tmp/sclDvf3Vx: line 8: -i: command not found... Funktioniert jedoch, su -die ich weiterhin verwenden werde. Ich bin auf keinen Fall ein Linux-Systemadministrator, daher ist die Umgebung für mich immer noch ziemlich neblig. Ich denke meine Fragen sind:
- Warum wird der Fehler ausgelöst?
- Was ist der Unterschied zwischen den beiden Befehlen?
- Warum würden Sie eins über das andere verwenden?
Aktualisieren:
Ich verwende die CentOS-Version: CentOS Release 6.6 (Final)
Hier ist die Ausgabe einiger Befehle, die ich ausführen soll, in den Kommentaren unten.
type sudo::sudo is /opt/centos/devtoolset-1.1/root/usr/bin/sudosudo -V::/var/tmp/sclIU7gkA: line 8: -V: command not foundgrep'^root:' /etc/passwd::root:x:0:0:root:/root:/bin/bash
Aktualisieren:
Dies wurde vor einiger Zeit zu ~ / .bashrc meines Nicht-Root-Benutzers hinzugefügt, da ich C ++ 11-Unterstützung benötigte. Wenn ich es auskommentiere, re-ssh in, kann ich sudo -i ohne Fehler ausführen.
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
fi
aliasfür Ihren sudoBefehl erstellt?
sudoder nicht der normale sudo-Befehl ist. Da es die Optionen von sudo nicht versteht, ist es eindeutig keine Standardsache. Verwenden Sie /usr/bin/sudoentweder Ihre lokalen Administratoren oder fragen Sie sie (die Ihnen das wirklich hätten sagen sollen, als sie Ihnen Sudo-Befugnisse verliehen haben).
-wirklich ein (ASCII) ist-?