Zauważyłem to dziś kilka razy. Jeśli piszę, cd ../Directory
aby przejść do innego katalogu, wyświetla „bash: cd: błąd zapisu: sukces”. Nie mogę ustalić, jakie inne poprzednie polecenia mogą być z tym związane.
typeset -f
nic nie drukuje.alias
nic nie drukuje.type -a cd
wypisuje „cd jest wbudowaną powłoką”.echo $CDPATH
wypisuje pustą linię.$BASH_VERSION
wypisuje "bash: 4.2.37 (1) -release: polecenie nie znaleziono".- Zauważyłem to tylko 2-3 razy. Katalog początkowy i katalog docelowy były identyczne w obu sytuacjach. Zmieniałem katalogi w ten sposób wiele razy, ale nie zawsze napotykałem błąd.
Co może być tego przyczyną?
type -a cd
zgodnie z żądaniem Glenna.type
polecenia do swojego pytania. Czy dzieje się tak również we wszystkich katalogach, czy tylko w określonych katalogach? A jaka jest wydajnośćecho $CDPATH
?$BASH_VERSION
) używasz?bash 4.2.37(1)
.Odpowiedzi:
Może błąd?
To brzmi jak potencjalny błąd. Znalazłem podobny raport pokazujący tę samą wiadomość. Bug bash: wbudowane pwd kończy się z błędem zapisu: Sukces .
fragment
Nie możesz zaktualizować historii?
Błąd sprawia, że myślę, że udało się zmienić katalogi, ale nie był w stanie napisać polecenia
cd ../Directory
do twojego$HOME/.bash_history
. Potwierdziłbym, że ten plik jest nienaruszony i można go zapisać. Potwierdź także, że twój$HOME
katalog jest zapisywalny i nie jest pełny.źródło
/home
Partycja ma dużo miejsca. Nie mogę znaleźć niczego dziwnego w „.bash_history”, jest ustawiony do odczytu i zapisu tylko dla właściciela. Ilekroć opuszczam terminal, dane z tego terminala nadal tam są. Czy jest to możliwe, ponieważ uruchomiłem wiele okien terminali w tym samym czasie?~/.bash_history
bezpośrednio po uruchomieniu polecenia, ale po zakończeniu sesji, prawda?su root
w tym czasie i natychmiasttail /root/.bash_history
nie zauważyłem nic istotnego, a potemexit
wracam do mojego normalnego użytkownikasudo tail /root/.bash_history
i linii (obie linie, odkąd powtórzyłemcd
), rzeczywiście został napisanyTwoje polecenie cd jest aliasem lub najprawdopodobniej funkcją bash.
Jeśli nie zostanie znaleziony przy użyciu powyższych poleceń
which cd
, zlokalizuje ścieżkęcd
polecenia.Spójrz na
cd
alias lub definicji funkcji w normalnym skryptów startowych.bash_profile
,.bashrc
a.profile
.źródło
typeset -f
,alias
iwhich cd
wszystkie nic nie zwracają, a inne pliki zawierają tylkoPATH=~/.context/tex/texmf-linux/bin/:$PATH
.type -a cd
type -a cd
wypisuje „cd jest wbudowaną powłoką”.