Korzystam z systemu Ubuntu Linux, a każde wprowadzone polecenie jest wyświetlane w następnym wierszu, a następnie jego wynik. Na przykład:
root@dpkube165:~# ls
ls <--- why is this here?
Desktop Documents Downloads
root@dpkube165:~# date
date <--- or this?
Mon Mar 19 11:24:59 EDT 2018
root@dpkube165:~# echo "Hello, world!"
echo "Hello, world!" <--- or this?
Hello, world!
Pomyślałem, że może to mieć związek z monitem, który wygląda następująco (PS1):
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
ale przeglądanie przewodników online w celu uzyskania sekwencji ucieczki nie przyniosło niczego oczywistego.
linux
command-line
Czad
źródło
źródło
sudo -i
z serii poleceń na poziomie administratora? Zwłaszcza gdy coś debuguję?Odpowiedzi:
Wygląda na to, że masz
-v
ustawiony (coś działaset -v
).Aby to odwrócić, uruchom
set +v
.Zobacz stronę
bash
podręcznika (w sekcji „ Polecenia wbudowane powłoki ”), aby uzyskać więcej informacji na tematset
wbudowanego polecenia.Alternatywnie uruchom
help set
od wewnątrz,bash
aby uzyskać bardziej bezpośredni dostęp do tekstu pomocy.źródło
man bash
, możesz równieżhelp set
.bash
podręcznika ... dzięki!set -o vi
. Błędnie wpisz jako,set -ovi
a otrzymasz powyższe zachowanie.set -x
bardziej przydatny do rejestrowania lub debugowania rzeczy innych niż kontrola przepływu, ponieważ rozszerza zmienne, aby pokazać, jakie polecenia są w rzeczywistości wykonywane, np.echo foo
Zamiastecho $my_string
Przynajmniej w Bash 4.3 to polecenie ma podobny efekt jak
set -v
:Aby sprawdzić, czy to Cię dotyczy, uruchom
Aby go rozbroić, uruchom
źródło