I want to log in to user2 via bash script, so my script contains:
sudo -i -u user2
Also I don't want to enter my sudo password by hands. Before I did something like this:
echo "my_sudo_password" | sudo -S <command>
but if I am trying it in this case:
echo "my_sudo_password" | sudo -S -i -u user2
I have error
-sh: 1: my_sudo_password: not found
Can you answer what am I doing wrong?
sudo
is not asking for your password, and the "unused" stdin is getting passed to user2's login shell (as if you'd doneecho "my_sudo_password" | sh -l
) – steeldriver Mar 26 '22 at 15:05