Mein Problem war, dass ich das Skript vor der #!/bin/bash
Zeile dokumentiert habe, also war der Shebang nicht die erste Zeile im Skript.
Warum öffnet Sudo Skripte mit / bin / sh?
405
stav meir
Ich habe ein Skript, das Sudo-Berechtigungen benötigt und /bin/bash
auf einem Ubuntu 14.04-Computer ausgeführt werden muss.
Wenn ich es als root (oder bei einem anderen Benutzer) eingeloggt lade, wird es /bin/bash
wie erwartet geöffnet. Wenn ich jedoch das Skript ausführe, wird sudo
es geöffnet, /bin/sh
unabhängig davon, unter welchem Benutzer ich angemeldet bin.
Ich habe geprüft /etc/passwd
und sehe, dass /bin/bash
die Standard-Shell für root ist. $SHELL
ist auch definiert /bin/bash
.
Ich bin nicht der einzige, der das Skript verwendet, also kann ich mich nicht darauf verlassen, dass die Leute sudo -i
es ausführen.
Wo ist die Sudo-Shell definiert? Wie kann ich das ändern?
Haben Sie versucht, die Shell mit einem # zu setzen! Zeile im Skript?
Jesusaur vor 5 Jahren
1
Fügen Sie Ihrem Skript als erste Zeile hinzu: `#! / Bin / bash`
harrymc vor 5 Jahren
1
Richtig, ich habe vergessen zu erwähnen, dass ich die Hülle bereits so eingestellt habe. Es hat nicht geholfen. Ich werde die Frage bearbeiten
stav meir vor 5 Jahren
0
Ich habe nur überprüft, ich hatte `#! / Bin / bash 'im Skript, aber nicht als erste Zeile! Ich hatte vorher einige Kommentare zum Skript, alte Python-Gewohnheiten, denke ich. Ich habe ihre Reihenfolge geändert und das Skript öffnet sich mit Bash! Vielen Dank. Ich kann Ihre Kommentare nicht bestätigen: /
stav meir vor 5 Jahren
0
Bitte bearbeiten Sie die Antwort nicht in Ihre Frage. [su] ist eine Frage- und Antwortseite, und Antworten sollten von Fragen getrennt sein. Sie können stattdessen [Ihre eigene Frage beantworten] (https://superuser.com/help/self-answer).
DavidPostill vor 5 Jahren
0
Okay, danke. @DavidPostill Können Sie bitte meine Frage erneut öffnen, damit ich sie beantworten kann? Ich möchte keine leeren Bearbeitungen vornehmen.
stav meir vor 5 Jahren
0
@stavmeir Fertig.
DavidPostill vor 5 Jahren
0
1 Antwort auf die Frage
1
stav meir
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
8
Laptop Standby unter Linux / Ubuntu
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
1
Wie kann ich von Ubuntu aus über das Netzwerk auf Windows Vista-Drucker zugreifen?
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
3
Kann ich Microsoft Office 2007 unter Ubuntu ausführen?