wykonaj su z dodatkowymi poleceniami

0

Chcę zrobić coś takiego:

sudo su -l <user> cd <somedir>

Ale kiedy podaję su dodatkowe argumenty po 'user', polecenie powraca zamiast dać mi interaktywną powłokę.

Michael Böckling
źródło

Odpowiedzi:

1
  • -l zapewni interaktywną sesję logowania
  • możesz spróbować

    su -l user -c cd /some/place 
    

    które będą

  • su -l user , następnie

  • cd /some/place, następnie wyjdź natychmiast po poleceniu cd.

może szukasz ..? (edytuj 1)

su -l user -c "cd /some/place ; bash -i "
Archemar
źródło
Próbowałem „su -l user -c cd / some / place”, ale to nie daje mi powłoki - powraca natychmiast. Wariant „cd / some / place; su user” nie działa, ponieważ bieżący użytkownik nie ma praw dostępu do tego katalogu.
Michael Böckling
1
@Archemar: dzięki, to było prawie poprawne, ale brakowało flagi -c. Powinno być: su -l użytkownik -c "cd / some / place; bash -i" Po poprawieniu odpowiedzi zaznaczę ją jako taką.
Michael Böckling