Jeg skrev set -x
i terminalen.
Nå fortsetter terminalen å skrive ut den siste kommandoen kjør på toppen av utdataene mine, slik at kommandoen
~]$echo "this is what I see"
returnerer
+ echo "this is what I see" this is what I see
Det er ingen mannsside for set
, hvordan slår jeg av set -x
?
Kommentarer
-
set
er et skallbuiltin
-kommando (i det minste i bash er det), så dokumentasjonen er funnet i bash ' s mannsside. Søk på mannssiden for/^ *SHELL BUILTIN COMMANDS
for å lese alt omset
og dets venner! - men det er en
man
side forset
! Det er en del av POSIX-programmeringsguiden … Du bør virkelig få den serien … takk? - I Bash skriver du
help set
. - @ lonewarrior556 hvis du finner noe av svaret nyttig, kan du kommentere og / eller merke en løsning. Vi bidrar med tiden vår til å hjelpe ….
Svar
Bruk set +x
. Mer informasjon:
$ type set set is a special shell builtin
Siden set
er et innebygd skall, er det dokumentert i dokumentasjonen til skallet ditt.
Vær oppmerksom på at noen systemer har man-sider for shell-innebygde, men disse man-sidene er bare riktige hvis du bruker standard skallet. På Linux kan det være at du har man-sider som inneholder POSIX-kommandoer, som vil dukke opp for shell-innebygde fordi det ikke er noen manside for et frittstående verktøy for å skygge dem; disse mansidene er riktige for alle skjell i Bourne-stil (dash, bash, * ksh og til og med zsh), men vanligvis ufullstendige.
Se Lese og søke på langsidesider for tips om hvordan du søker etter en innebygd i en lang mansideside.
I dette tilfellet er svaret det samme for alle skjell i Bourne-stil. Hvis set -LETTER
slår på et alternativ, slår set +LETTER
det av. Dermed slår set +x
spor av. Det siste sporet som leser set +x
er uunngåelig (bortsett fra ved å la skallet gå ut – noen ganger kan du bruke en subshell (set -x; command to trace; other command to trace); command that is not traced
).
Kommentarer
Svar
Du kan stoppe feilsøkingsmodus ved å set +x
. Se eksempel side
Svar
Du har aktivert feilsøking må du slå den av.
Pakk ut skjema help set
:
Ved å bruke + i stedet for – blir disse flaggene slått av.
Så skriv set +x
Svar
$ set +x # is the opposite of set -x, and will reverse what you typed.
Du kan ikke finne en manside bare på set
, fordi som du ser nedenfor:
$ type set
set
er et spesielt innebygd skall Mens dokumentert på mansiden for skallet ditt, antatt du bash her, kan du også få spesifikk dokumentasjon med enten
$ help set || builtin help set # luckily Bash has builtin help on builtin commands
Den manuelle siden på bash eller sh er en god lesning, men det er litt lenge å ordne opp. Den effektive informasjonen du trengte for å oppheve -x
, er på slutten før Exit Status:
og lyder:
Ved å bruke + i stedet for – blir disse flaggene slått av. Flaggene kan også brukes ved påkalling av skallet. Det nåværende settet med flagg finnes i $ -. De resterende n ARG-ene er posisjonsparametere og tildeles i rekkefølge $ 1, $ 2, .. $ n. Hvis ingen ARG-er er gitt, skrives alle skallvariabler ut.
Kommentarer
- Selv om det ikke er galt , hva har du lagt til utover de eksisterende svarene?
- @JeffSchaller Det ' er redigert for direkte og kortfattede. Da jeg trengte dette svaret, måtte jeg lese hele siden for å finne ut riktig svar. Faktisk ga jeg opp å lese det aksepterte svaret og gikk bare til
help set
og leste det. Jeg prøvde å forbedre det aksepterte svaret. unix.stackexchange.com/revisions/149137/4 Det ble akseptert, men deretter avvist.Som en nyhetsartikkel, begynner det med den viktigste informasjonen og antar at når som helst leseren kan stoppe, med hver neste setning og avsnitt som er mindre viktig enn prosessen. Det ' er min SO-stil på unix se.
{ set +x ;} 2> /dev/null
skjulerset +x
-sporet (vant ' fungerer ikke i Bourne-skallet skjønt). Noen skjell sender fremdeles ut+ 2> /dev/null
.