Bash nie jest w pełni funkcjonalny dla nowego użytkownika


19

Właśnie utworzyłem nowego użytkownika w moim systemie za pomocą useradd -d /home/users/john -m john(Korzystanie z Ubuntu 11.04). johnDziała to dobrze, ale kiedy się zmieniłem , mój bash nie jest w pełni funkcjonalny. Oznacza to, że nie ma on autouzupełniania, nie mogę używać ich klawiszy strzałek (np. UP, aby uzyskać ostatnie polecenie), a zamiast pokazywania mojego bieżącego katalogu pokazuje tylko $. Załadowałem plik, .bashrcale wygląda na to, że został całkowicie zignorowany. Co może to powodować?

PD: ten użytkownik już pracuje w systemie i raczej go nie usuwam i dodam, jeśli to możliwe.


Zdefiniuj, co rozumiesz przez „kiedy zmieniłem się w John”. Czy logowałeś się z tym użytkownikiem na głównej konsoli, na pty, przez ssh, czy ty suczy su -?
Paul Tomblin

Jakie są uprawnienia / prawa własności do załadowanego pliku .bashrc?
Paul Tomblin

Odpowiedzi:


36

Prawdopodobnie skorupa Johna nie jest /bin/bash, ale /bin/sh. W Ubuntu jest to powłoka przeznaczona do szybkiego wykonywania skryptów, bez fantazyjnych funkcji interaktywnych, takich jak edycja wiersza poleceń. Sprawdź ostatnią kolumnę grep john /etc/passwdlub getent passwd john. Możesz uruchomić, chsh -s /bin/bash johnaby zmienić powłokę użytkownika.


1
Świetnie, tak rzeczywiście było!

2
Tylko uwaga. W Ubuntu /bin/shjest dowiązanie symboliczne, dashtzn. /bin/dashTak więc ostatecznie powłoka użytkownika jest /bin/dash.
Sachin Divekar

4

możesz przeskakiwać między powłokami, wpisując nazwę powłoki

$ bash

a w następnym wierszu pojawi się następujący monit

user@hostname$ 

który jest powłoką bash. Twój klawisz strzałki w górę i autouzupełnianie będą teraz działać


Należy zauważyć, że jest to oczywiście tymczasowe. Akceptowana obecnie odpowiedź ma bardziej trwałe rozwiązanie.
jw013,

ok, nie wiedziałem o tym, dzięki za to zachowam przyjętą odpowiedź do przyszłego odniesienia
Saad
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.