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ę.

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 "

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.