Komunikat terminala nie zadziałał po zmianie wartości PS1


9

Niedbale wpisałem polecenie w terminalu, które powinno być w skrypcie powłoki:

export PS1=$PATH:~/drush23/drush/

teraz w moim terminalu zamiast tego:

ubuntu@ip-10-16-134-18:/home/ubuntu$

Widzę to:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/ubuntu/drush23/drush/

a kiedy zmieniam katalogi ta linia zawsze pozostaje… Nie wiem, co robić

Mam Byobu ...

Odpowiedzi:


13

$PS1to zmienna środowiskowa, która informuje powłokę, jak sformatować monit. Zmiana wartości za pomocą export, tak jak zrobiłeś, dotyczy tylko tej sesji; więc możesz po prostu otworzyć nową powłokę (nie pod-powłokę) i zobaczyć znajomy monit.

W przeciwnym razie, jeśli naprawdę chcesz przywrócić swój monit w tej sesji, po prostu uruchom ponownie plik preferencji powłoki. Dla użytkowników Bash to znaczy:

. ~/.bashrc

Nie wiem, czy to zadziała (przynajmniej bez powodowania innych problemów) dla Byobu; ale możesz po prostu ustawić monit na rozsądną wartość, taką jak ta:

export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Lub, jeśli nie chcesz lub nie możesz wyświetlać monitu o kolor, prostszym byłoby:

export PS1='\u@\h:\w\$ '

gdzie \ujest nazwa użytkownika, nazwa \hhosta i \wpełna ścieżka (logiczna) bieżącego katalogu roboczego.


nie wiedziałem, że PS1 $ kontroluje to ... dzięki!
— Moshe Shaham

po prostu uderzyłem w terminal . ~/.bashrc. Zresetuje PS1zmienną i powinieneś otrzymać swój monit.
— souravc

@souravc Czy jesteś pewien, że nie spowodowałoby to problemów dla OP? używa Byobu.
— Yatharth Agarwal

@YatharthROCK Nie sądzę, że spowodowałoby to jakikolwiek problem. Czego oczekujesz jako możliwy problem?
— souravc

@souravc Przepraszamy, nie myślałem prosto.
— Yatharth Agarwal

1

Możesz ustawić PS1rozsądną wartość dla tej sesji terminala, używając:

export PS1=$'\h:\w\$'

Starą wartość należy również przywrócić po zamknięciu i ponownym uruchomieniu terminalu, ponownym uruchomieniu itp.


0

Miałem ten sam problem. Użyłem PS1, aby ustawić monit „Test”.

Później nie mogłem wrócić do domyślnego kolorowego monitu.

jednak sprawdzałem odpowiedź na tej stronie i musiałem sprawdzić, z której powłoki korzystam.

Próbowałem $ SHELL i przywrócono domyślną kolorową wartość zachęty.

„$ SHELL”

Nie jestem w tym profesjonalistą. To jest całkowicie przypadkowe, nie wiem czy to zadziała dla ciebie czy nie.

Ale warto spróbować.


Czy możesz wyjaśnić, co zrobiłeś SHELL?
— Stephen Rauch

Naprawdę nie mam pojęcia, jak to działało. Nie edytowałem też nic związanego z powłoką. Sprawdź link do zrzutu ekranu: imgur.com/a/l4SGtBK
— Ravi Kiran

1
Do twojej wiadomości, to po prostu uruchamia nową powłokę. Jeśli uruchomisz exit, wrócisz do pomylonego komunikatu.
— NerdOfLinux
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.