Hvordan angrer du «set -x»?

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 skall builtin -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 om set og dets venner!
  • men det er en man side for set! 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

  • Dette er et godt svar, men det hadde spart meg et par minutter hvis du legger det grunnleggende " sett + x " i starten i stedet for innebygd i siste avsnitt. (Jeg fant detaljene nyttige.)
  • { set +x ;} 2> /dev/null skjuler set +x -sporet (vant ' fungerer ikke i Bourne-skallet skjønt). Noen skjell sender fremdeles ut + 2> /dev/null.

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.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *