特定のコマンドを実行してから、スクリプトの残りの部分を実行するためにユーザーをrootに変更するには、root以外のユーザーアカウントが必要なシェルスクリプトがあります。私はSUSE11を使用しています。 パスワードプロンプトを自動化するためにexpectを使用しました。しかし、 spawn su - を使用すると、コマンドが実行されると、プロンプトがrootに戻り、スクリプトの残りの部分は実行されません。シェルスクリプト内のrootユーザーに変更する
例:
< non-root commands>
spawn su -
<root commands>
しかし、suの後にプロンプトが表示されると、ユーザーはrootとなります。 スクリプトの残りの部分を実行する方法。
sudo -Sオプションは、マシンのIPアドレスを見つけるのに必要なsudo -S ifconfigコマンドを実行しないので役に立ちません。
私はすでに、これらのリンクを介して行っているが、解決策を見つけることができませんでした。事前に Change script directory to user's homedir in a shell script
Changing unix user in a shell script
感謝を
rootの代わりに$ USERNAME2と呼ぶことができますか? ありがとうございます。 – raja777m