Neden 'set -x' terminalin çöp atmasına neden oluyor?


2

Bu sorun oldukça can sıkıcı ve eksi işareti orada başka bir terminolojiye sahip olduğundan, 'set -x' için Google'da arama yapamıyorum.

MacBookPro'mda bash komutlarını hata ayıklamak için 'set -x' komutunu kullandığımda , enter tuşuna her basışımda aşağıdakileri alıyorum. Bu çirkin çöplüğü nasıl durduracağına dair bir fikrin var mı? bu nedenle, çalıştırdığım her komut için, çalıştırmakta olduğum asıl komutu bulmak için iki sayfayı geriye kaydırmam gerekiyor.

++ update_terminal_cwd
++ local url_path=
++ local i ch hexch LC_CTYPE=C LC_ALL=
++ (( i = 0 ))
++ (( i < 24 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 24 ))
++ ch=U
++ [[ U =~ [/._~A-Za-z0-9-] ]]
++ url_path+=U
++ (( ++i ))
++ (( i < 24 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 24 ))
++ ch=e
++ [[ e =~ [/._~A-Za-z0-9-] ]]
++ url_path+=e
++ (( ++i ))
++ (( i < 24 ))
++ ch=r
++ [[ r =~ [/._~A-Za-z0-9-] ]]
++ url_path+=r
++ (( ++i ))
++ (( i < 24 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 24 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 24 ))
++ ch=i
++ [[ i =~ [/._~A-Za-z0-9-] ]]
++ url_path+=i
++ (( ++i ))
++ (( i < 24 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 24 ))
++ ch=h
++ [[ h =~ [/._~A-Za-z0-9-] ]]
++ url_path+=h
++ (( ++i ))
++ (( i < 24 ))
++ ch=a
++ [[ a =~ [/._~A-Za-z0-9-] ]]
++ url_path+=a
++ (( ++i ))
++ (( i < 24 ))
++ ch=h
++ [[ h =~ [/._~A-Za-z0-9-] ]]
++ url_path+=h
++ (( ++i ))
++ (( i < 24 ))
++ ch=a
++ [[ a =~ [/._~A-Za-z0-9-] ]]
++ url_path+=a
++ (( ++i ))
++ (( i < 24 ))
++ ch=k
++ [[ k =~ [/._~A-Za-z0-9-] ]]
++ url_path+=k
++ (( ++i ))
++ (( i < 24 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 24 ))
++ ch=D
++ [[ D =~ [/._~A-Za-z0-9-] ]]
++ url_path+=D
++ (( ++i ))
++ (( i < 24 ))
++ ch=o
++ [[ o =~ [/._~A-Za-z0-9-] ]]
++ url_path+=o
++ (( ++i ))
++ (( i < 24 ))
++ ch=w
++ [[ w =~ [/._~A-Za-z0-9-] ]]
++ url_path+=w
++ (( ++i ))
++ (( i < 24 ))
++ ch=n
++ [[ n =~ [/._~A-Za-z0-9-] ]]
++ url_path+=n
++ (( ++i ))
++ (( i < 24 ))
++ ch=l
++ [[ l =~ [/._~A-Za-z0-9-] ]]
++ url_path+=l
++ (( ++i ))
++ (( i < 24 ))
++ ch=o
++ [[ o =~ [/._~A-Za-z0-9-] ]]
++ url_path+=o
++ (( ++i ))
++ (( i < 24 ))
++ ch=a
++ [[ a =~ [/._~A-Za-z0-9-] ]]
++ url_path+=a
++ (( ++i ))
++ (( i < 24 ))
++ ch=d
++ [[ d =~ [/._~A-Za-z0-9-] ]]
++ url_path+=d
++ (( ++i ))
++ (( i < 24 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 24 ))

Teşekkür ederim!!


Kolayca help setTerminal'e yazıp "Bu işaretlerin kapanmasına neden olmak yerine + kullanma" ifadesini görebilirdiniz. Belgelerde zaten cevaplanmış soruları göndermeden önce belgelere bakın!
user3439894

Özellikle de soru OP’nin gerçekte ne anlama geldiği değildir
Mark

Lütfen Gordon'un cevabını görün. Eminim başkaları da
sorumu

Yanıtlar:


3

Burada gördüğünüz şey, geçerli çalışma dizinini temel alarak Terminal pencere başlığını ayarlamak için Apple'ın OS X 10.11'de eklediği sahne arkası senaryosu. Yana set -xkomutlar bash tarafından yürütülmektedir ne gösterir, aynı zamanda (ağrılı ayrıntılı olarak) tüm bu normalde-perde arkası şeyleri gösteren rüzgarlar. Ancak, devre dışı bırakmak oldukça kolaydır:

unset PROMPT_COMMAND

... ve sonra huzur içinde hata ayıklayabilirsiniz, ancak pencere başlık çubuğunuz artık güncellenmez. Hata ayıklamayı tamamladıysanız ve başlık çubuğu güncellemelerini yeniden etkinleştirmek istiyorsanız, değişkeni sıfırlayın:

PROMPT_COMMAND=update_terminal_cwd

0

Bakılacak yer bash kılavuzu.

Bu içerir

'-' yerine '+' kullanılması, bu seçeneklerin kapatılmasına neden olur.

O zaman dene set +x


Muhtemelen kendimi iyi açıklamamıştım. -X setini istiyorum, ama bu çirkin şeyleri istemiyorum - yalnızca gerçekten çalıştırdığım komutları. Elbette set + x devre dışı bırakacaktır. Aynı zamanda hata ayıklamamı da kapatıyor ...
ishahak

Bunu açıklığa kavuşturmak için soruyu düzenleyebiliyor musunuz (Cevabımın yanıtın basf dokümantasyon sayfasında çok fazla değişmesi muhtemel değildir -v)
Mark

Daha iyisini denedim ...
ishahak

Yine de net değil - orijinal örneği kesin ve ardından ne görmek istediğinizi gösterin.
Mark
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.