これがルールに違反しているかどうかはわかりませんが、
sudo bash script.sh
私にはうまくいくようです。
あなたがやろうとしていることは不可能です。現在のシェルは通常のユーザー ID で実行されています (つまり、root なしで sudo
にアクセスします) )、root アクセスを許可する方法はありません .何 sudo
ルートとして実行される新しい*サブ*プロセスを作成します。サブプロセスは単なる通常のプログラム (例:sudo cp ...
cp
を実行します ルート プロセス内のプログラム) またはルート サブシェルである可能性がありますが、できません 現在のシェルになります。
(sudo
コマンド自体は、現在のシェルのサブプロセスとして実行されます。つまり、「現在のシェル」で何かを実行するには、ある意味では既に遅すぎるということです。なぜなら、それが実行される場所ではないからです。)