Puede pasar los comandos como entrada estándar en la fiesta de sudo'ed con un here document:
sudo bash <<"EOF"
whoami
id
EOF
De esta manera no hay necesidad de tocar el violín con citar correcta, especialmente si tiene varios niveles, por ejemplo:
sudo bash <<"EOF"
whoami
echo $USER ~
sudo -u apache bash <<"DOF"
whoami
echo $USER ~
DOF
EOF
Produce:
root
root /root
apache
apache /usr/share/httpd
(Tenga en cuenta que se puede' t indent el terminador interno - tiene que estar solo en su línea. Si desea utilizar la sangría en un documento de aquí, se puede utilizar en lugar de <<-
<<
, pero entonces debe sangrar con pestañas, no espacios.)
Sin embargo, corregir citas es una putada. –
@MaximYegorushkin No, en realidad, si conoces el truco, mira mi edición. – Gilles
El truco no se adapta bien a varios niveles de cotización. A diferencia de varios niveles de documentos aquí. –