Ausführen
. example.txt
Das macht genau das, wonach Sie fragen, ohne ein ausführbares Flag für die Datei zu setzen oder eine zusätzliche Bash-Instanz auszuführen.
Für eine ausführliche Erläuterung siehe z.B. https://unix.stackexchange.com/questions/43882/what-is-the-difference-between-sourcing-or-source-and-executing-a-file-i
Sie können so etwas verwenden:
for i in `cat foo.txt`
do
sudo $i
done
Wenn die Befehle jedoch Argumente haben (d. h. Leerzeichen in den Zeilen vorhanden sind), müssen Sie möglicherweise ein wenig damit herumspielen, um die Leerzeichen zu schützen, damit die gesamte Zeichenfolge von sudo
gesehen wird als Befehl. Aber es gibt Ihnen eine Vorstellung davon, wie Sie anfangen sollen.
Sie können mit diesen Befehlen ein Shell-Skript erstellen, und dann chmod +x <scriptname.sh>
, und führen Sie es dann einfach mit
./scriptname.sh
Es ist sehr einfach, ein Bash-Skript zu schreiben
Mockup-sh-Datei:
#!/bin/sh
sudo command1
sudo command2
.
.
.
sudo commandn
Sie können es auch einfach mit einer Shell ausführen, zum Beispiel:
bash example.txt
sh example.txt