Table of Contents
Godkänd
Du kan se felmeddelandet som ber dig att Linux körs i felsökningsläge för mjukvara. Det finns flera förslag för att lösa det här problemet, så vi tittar på dem inom kort.
-v (kort om verbose) säger åt skalet att visa en hel del skriptrader när det uttalas dem, aktiverar verbose mode.-n (kort för att stödja noexec eller inte ecxecution inuti allt) – Talar om för skalet mot läskommandon, men utför dem inte.
Från min brevlåda:
Jag skickar mig en liten Hello World nulled vbulletin. Hur kan jag felsöka ett harrassfrö som täcker skript som rusar på både Linux- och Unix-enheter?
Detta är den vanligaste frågan av systemadministratörer eller Linux / UNIX-användare på sistone. Att felsöka skalskript kan vara tråkigt, vara effektivt (och inte lätt att läsa). Det kan redan finnas flera sätt att felsöka ett riktigt skalskript.
Du kommer att behöva hjälpa dig att skicka argumentet -x och för -v till hur bash-skalet för att se till att individen går igenom varje rad i detta fantastiska skript.
| -amphtml-sizer>
Låt oss se hur man felsöker ett verkligt bash-null-program som körs på Linux genom olika Unix-metoder. Alternativ
-x För att felsöka alla Bash Shell-skript
set -z: visa kommandon och alla argument som de exekveras.set -volts: Visa ingångslinjer för maskering, även om de är lästa.
Kör skalprogrammet med alternativet -c. $ bash script användarnamn
$ Tillbaka-knapp bash -x domains.sh
Använda det inbyggda fördefinierade kommandot
Bash invest tillhandahåller felsökningsalternativ som kan sluta slås på eller av med kommandot one set:
- ställ in -tider – – Visa kommandon och sedan deras diskussioner när de följs ut.
- set -v : Visa skalinmatning endast eftersom rader kommer att läsas.
Du kanske vill återställa standard shebang-raden:
med följande huvudstift (för felsökning):
Använd referensen för DEBUG Smart Function
Först och främst lägger du till en helt ny riktigt cool _DEBUG-variabel. Gör _DEBUG positivt när du behöver du kan felsöka ditt skript: _DEBUG är lika med "på"
En debugger kan vara ett verktyg som enkelt kör ett program eller skript om det sedan låter dig undersöka de ganska typiska interna komponenterna i skriptet och/eller kanske programmet även medan de tränar. Med speciella skript har vi inte definitivt en felsökningslösning, men med radalternativ (-n, -v -a) kan vi göra denna felsökning.
Nu var du än måste felsöka, använd bara DEBUG-funktionen som här: DEBUG-eko "Filen är ? rrr filnamn"
ELLER DEBUGGING problem -x
Cmd1
Kommando2
DEBUG + bakåtknapp Erbjudande
När du har övat på att använda det (och felsöka det innan du tar ditt personliga skript i produktion), ställ in _DEBUG att vara inaktiverat. Ta inte bort felsökning av diskussionen Ja.
Ange _DEBUG betyder "av" # allt men inte På
Spara stänger den angivna musikfilen. Kör skriptet enligt följande. : $ ../script.sh
Slutsats:
Inaktivera nu DEBUG (du kanske vill äntligen redigera filen): _DEBUG innebär "av"
Kör nullprogrammet: $ ./script.sh
Slutsats:
Felsök vanliga Bash Shell-skriptfel
Bash, sh eller ksh ger många olika felmeddelanden, och här innehåller felmeddelandet i många fall inte detaljerad information.
Gå till behörighet att köra filkörning
Om du kan skriva att du är det första skal-skriptet för hello time party, kan du få ett starkt fel så här: bash: ./hello.sh: Åtkomst nekad
Bestäm platsen. Ändra chmod tack vare kommandot: rrr chmod + x hello.sh
$ ./hallo.sh
$ Occasion bonjour.sh
Oväntat fel i målfil
Om du får ett oväntat filavstängningsfel, öppna skriptfilen och se till att den innehåller både perfekta citat och förkortningscitat. I denna fallstudie har avslöjandeförklaringen ett tydligt citat, men inga citat:
Glöm inte heller att stänga det allmänna provet för att sakna lockigt hjälpmedel ():
Saknade sökord som Fi, Escac, ;; Etc.
Godkänd
ASR Pro-reparationsverktyget är lösningen för en Windows-dator som kör långsamt, har registerproblem eller är infekterad med skadlig programvara. Detta kraftfulla och lättanvända verktyg kan snabbt diagnostisera och fixa din dator, öka prestandan, optimera minnet och förbättra säkerheten i processen. Lider inte av en trög dator längre - prova ASR Pro idag!
Om du har utgångna sökord som påminner om fi eller till och med ;; Du får ett “oväntat xxx”-felmeddelande. Så överväg att ta hand om alla kapslade om och efter det slutsatser med korrekta nyckelord. Se bash man-sidan för formatkrav. I exemplet saknas definitivt denna fi:
Flytta eller ändra skalskript från Windows eller Unix Windows
Det vanligaste sättet att starta ett underskal är att använda dessa -y-alternativ, som tvingar det allomfattande skriptet att köras i felsökningsstruktur. Spår associerade med varje kommando och som ett resultat av dess argument kan skrivas ut tid för standardutdata efter att kommandona utan tvekan har utökats, men exekveras initialt. Detta är definitivt skriptet commented-script1.sh som var hastigt i felsökningsläge.
Generera inte specifikt skript på Linux/Unix och latenstid på Windows. Ett annat problem är att hantera speciella händelser som finns i skalskriptet i Windows 10 med att flytta dem / h-start till en Unix-server. Detta sist i ett fel och ett mycket liknande kommando som inte användes på grund av denna vagn använd det igen (DOS CR-LF). Du är mycket bra nära de konverterande DOS CR-LF radbrytningarna med avseende på Unix / Linux-format med en särskild följande syntax: dos2unix my-script.sh
Unikt tips – Skicka felsökningsmeddelande till Stderr
Standardfel är en felförebyggande produkt som används för att positivt rapportera alla systemfelmeddelanden. Därför rekommenderas problemet att skicka meddelanden med ett obetalt fel till verktyget:
Tips 2 – Aktivera syntaxmarkering när du använder Vim Text Editor
De flesta stilfulla textredigerare låter dig välja alternativet för syntaxmarkering. Detta är alltid användbart för att känna igen syntax och fokusera på vanliga misstag som t.ex. början och avslutande citat. Du kan se bash-programmet i olika färger. Denna fördel gör det lättare att skriva i syntaxen för det mesta av skalpaketets struktur och lokaliserar tillförlitligt fel. Betoningen påverkar vanligtvis inte innebörden av själva kopian; det här är bara för dig. Den här instansen använder vim-syntaxmarkering för mitt nuvarande bash-skript:
Tips eller mer – Använd Shellcheck för att jämna ut skript
ShellCheck kan vara ditt eget statiska skriptanalysverktyg. Det kan i många fall användas för att hitta fel för skiftlägeskänsliga skript. Skrivet i Haskell. Du kan hitta varningar och feedback för bash/sh-skaltexter med detta verktyg. Låt oss se metoder för att installera och använda ShellCheck om ett Linux- eller Unix-system på marknaden för att förbättra din familjs skalskript för att undvika prestandabuggar.
Se vidare:
- Lär dig hur du aktiverar typmarkering i vim-texthanteraren.
- Male Bash Site
- BASH med förbättrad debugger, felsökningsstöd plus felhantering.
nummer! / bin / bash.......echo 'Fel: Filen hittades inte ^^^^^^^ saknas prisuppgift
#! / bin / bash.....[! -t $ DIRECTORY] && visa "Fel: huvudkatalogen hittades inte"; lämna 1; ^^^^^^^^^^^^^ saknad lägenhet...
nummer! / bin / basheko "Kör ..."....om [$ 1-eq tio]Så medan [$2-eq 80] Så förklara att "göra något"FiAför f i mp3s $göra visa $ fgjordeA# Fi-anteckningen saknas
# tryckfel i standardutdataecho "Fel: Hylla medel 1 hittades inte"## Skrivfel med hänsyn till att kunna stderr (not 1> & 2 i slutet som kommer med kommandoecho)#echo "Fel: fil rrr 1 hittades inte" 1> & flera