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

Mosze Szaham
źródło

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.

Yatharth Agarwal
źródło
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.

jkt123
źródło
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ć.

Ravi Kiran
źródło
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