ejecutar su con comandos adicionales


0

Quiero hacer algo como esto:

sudo su -l <user> cd <somedir>

Pero cada vez que doy su argumentos adicionales después de 'usuario', el comando regresa en lugar de darme un shell interactivo.

Respuestas:


1
  • -l proporcionará un inicio de sesión como sesión interactiva
  • puedes probar

    su -l user -c cd /some/place 

    que lo hará

  • su -l user , entonces

  • cd /some/place, luego salga inmediatamente después del comando cd.

tal vez estas buscando ..? (editar 1)

su -l user -c "cd /some/place ; bash -i "

He intentado "su -l user -c cd / some / place", pero eso no me da un shell, vuelve inmediatamente. La variante "cd / some / place; su user" no funciona porque el usuario actual no tiene derechos de acceso a ese directorio.
Michael Böckling

1
@Archemar: gracias, eso fue casi correcto, pero faltaba la bandera -c. Debería ser: su -l user -c "cd / some / place; bash -i" Una vez que corrija la respuesta, la marcaré como tal.
Michael Böckling
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.