Saya tidak yakin apakah ini melanggar aturan apa pun kecuali
sudo bash script.sh
tampaknya bekerja untuk saya.
Apa yang Anda coba lakukan tidak mungkin; shell Anda saat ini berjalan di bawah ID pengguna biasa Anda (yaitu tanpa root akses sudo
akan memberi Anda), dan tidak ada cara untuk memberinya akses root . Apa sudo
yang dilakukan adalah membuat proses *sub* baru yang berjalan sebagai root. Subproses bisa berupa program biasa (mis. sudo cp ...
menjalankan cp
program dalam proses root) atau bisa berupa subkulit root, tetapi tidak bisa menjadi shell saat ini.
(Sebenarnya lebih mustahil dari itu, karena sudo
perintah itu sendiri dijalankan sebagai subproses dari shell saat ini -- artinya dalam arti tertentu sudah terlambat untuk melakukan apa pun di "shell saat ini", karena itu bukan tempat eksekusi.)