Nejsem si jistý, jestli to porušuje nějaká pravidla, ale
sudo bash script.sh
zdá se, že to pro mě funguje.
To, o co se snažíte, je nemožné; váš aktuální shell běží pod vaším běžným uživatelským ID (tj. bez rootu přístup sudo
by vám dalo) a neexistuje žádný způsob, jak mu udělit přístup root . Co sudo
je vytvořit nový *pod*proces, který běží jako root. Podprocesem může být pouze běžný program (např. sudo cp ...
spustí cp
program v kořenovém procesu) nebo to může být kořenový subshell, ale to nemůže být aktuální shell.
(Ve skutečnosti je to ještě nemožné, protože sudo
samotný příkaz je vykonáván jako podproces aktuálního shellu – což znamená, že v jistém smyslu je již příliš pozdě na to, aby něco provedl v „aktuálním shellu“, protože to není místo, kde se provádí.)