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). john
Dział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, .bashrc
ale 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.
su
czysu -
?Odpowiedzi:
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/passwd
lubgetent passwd john
. Możesz uruchomić,chsh -s /bin/bash john
aby zmienić powłokę użytkownika.źródło
/bin/sh
jest dowiązanie symboliczne,dash
tzn./bin/dash
Tak więc ostatecznie powłoka użytkownika jest/bin/dash
.możesz przeskakiwać między powłokami, wpisując nazwę powłoki
a w następnym wierszu pojawi się następujący monit
który jest powłoką bash. Twój klawisz strzałki w górę i autouzupełnianie będą teraz działać
źródło