Am tastat set -x
în terminal.
Acum terminalul continuă să tipărească ultima comandă rulați pe partea de sus a rezultatului meu, astfel încât comanda
~]$echo "this is what I see"
returnează
+ echo "this is what I see" this is what I see
Există nicio pagină manuală pentru set
, cum pot dezactiva set -x
?
Comentarii
Răspuns
Utilizați set +x
. Mai multe informații:
$ type set set is a special shell builtin
Deoarece set
este un shell integrat, acesta este documentat în documentația shell-ului dvs.
Aveți grijă că unele sisteme au pagini man pentru shell built-in, dar aceste pagini man sunt corecte doar dacă utilizați shell-ul implicit. Pe Linux, este posibil să aveți pagini man care prezintă comenzi POSIX, care va apărea pentru shell built-in-uri, deoarece nu există o pagină manuală a unui utilitar independent care să le umbrească; aceste pagini manuale sunt corecte pentru toate shell-urile în stil Bourne (liniuță, bash, * ksh și chiar zsh), dar de obicei incomplete.
Consultați Citirea și căutarea paginilor lungi de mana pentru sfaturi despre căutarea unui element încorporat într-o pagină man shell lungă. p>
În acest caz, răspunsul este același pentru toate shell-urile în stil Bourne. Dacă set -LETTER
activează o opțiune, set +LETTER
o dezactivează. Astfel, set +x
dezactivează urmele. Ultima urmă care citește set +x
este inevitabilă (cu excepția lăsând shell-ul să iasă – uneori puteți utiliza un subshell (set -x; command to trace; other command to trace); command that is not traced
).
Comentarii
- Acesta este un răspuns bun, dar m-ar fi salvat câteva minute dacă ați pus " set + x " la început, mai degrabă decât încorporat în ultimul paragraf. (Am găsit detaliile suplimentare utile.)
-
{ set +x ;} 2> /dev/null
ascunde urmeleset +x
(câștigat ' nu funcționează în shell Bourne). Unele cochilii încă generează un+ 2> /dev/null
.
Răspuns
Puteți opri modul de depanare prin set +x
. Vedeți exemplul pagina
Răspuns
Ați activat depanarea mod, trebuie să îl dezactivați.
Extrageți formularul help set
:
Utilizarea + în loc de – face ca aceste semnalizatoare să fie dezactivate.
Deci, tastați set +x
Răspuns
$ set +x # is the opposite of set -x, and will reverse what you typed.
Nu puteți găsi o pagină manual doar pe set
, deoarece după cum vedeți mai jos:
$ type set
set
este un shell special încorporat . În timp ce este documentat în pagina de manual pentru shell-ul dvs., presupunând bash aici, puteți obține, de asemenea, documentație specifică fie cu
$ help set || builtin help set # luckily Bash has builtin help on builtin commands
Pagina manuală cu bash sau sh este o lectură bună, dar „este puțin lung de rezolvat. Informațiile eficiente de care aveți nevoie pentru a anula setarea -x
se află la sfârșitul dinaintea Exit Status:
și citește:
Folosind + în loc de – face ca aceste semnalizatoare să fie dezactivate. Steagurile pot fi, de asemenea, utilizate la invocarea shell-ului. Setul actual de steaguri poate fi găsit în $ -. Restul de n ARG-uri sunt parametri de poziție și sunt atribuiți, în ordine, la $ 1, $ 2, .. $ n. Dacă nu sunt date ARG-uri, toate variabilele shell sunt tipărite.
Comentarii
- Deși nu este greșit , ce ați adăugat dincolo de răspunsurile existente?
- @JeffSchaller Este ' editat pentru claritate și concizie. Când am avut nevoie de acest răspuns, a trebuit să citesc întreaga pagină pentru a afla răspunsul corect. De fapt, am renunțat să citesc răspunsul acceptat și m-am dus la
help set
și am citit asta. Am încercat să îmbunătățesc răspunsul acceptat. unix.stackexchange.com/revisions/149137/4 A fost acceptat, dar apoi respins.La fel ca un articol de știri, începe cu cele mai importante informații și presupune că în orice moment cititorul se poate opri, fiecare propoziție și paragraf următor fiind mai puțin importante decât procedura. ' este stilul meu SO pe unix se.
set
este o comandă shellbuiltin
(cel puțin în bash este), astfel încât documentația este găsită în pagina de manual bash ' s. Căutați în pagina de manual/^ *SHELL BUILTIN COMMANDS
pentru a citi totul despreset
și prietenii săi!man
pentruset
! Face parte din ghidul programatorilor POSIX … Ar trebui să chiar obțineți acea serie … vă rog?help set
.