Vad är dot slash?
Inom databehandling hänvisar "dot slash" till notationen "./" som används i Unix-liknande operativsystem för att köra ett skript eller ett program som finns i den aktuella katalogen. Punkten representerar själva den aktuella katalogen och snedstrecket är en katalogseparator. Så när du skriver "./" före ett skriptnamn säger du till systemet att leta efter skriptet här i den aktuella mappen, inte någonstans i systemets sökväg.
Fungerar det prickade snedstrecket bara på Unix eller Linux®?
Ja, konventionen med prickade snedstreck är specifik för Unix-liknande system, som inkluderar Linux® och andra Unix-derivat. I dessa system används det för att skilja mellan körbara filer i den aktuella katalogen och körbara filer som finns i systemsökvägen. Det används inte i Windows, där du kan köra körbara program i den aktuella katalogen utan det.
Kan jag använda dot slash för andra kataloger än den aktuella?
Om du vill köra ett skript eller ett program i en annan katalog än den aktuella ska du inte använda dot slash. Istället ska du ange sökvägen till skriptet. Om du t.ex. vill köra ett skript som finns i en underkatalog som heter "scripts" skriver du "scripts/myscript" utan snedstreck. Punktslash är specifikt för något i den aktuella katalogen.
Vad skulle hända om jag inte använde dot slash i Unix-system?
Om du inte prefixar kommandot med "./" och skriptet eller det körbara programmet finns i den aktuella katalogen, kommer systemet inte att köra det om inte den aktuella katalogen finns i miljövariabeln path. Av säkerhetsskäl finns den aktuella katalogen vanligtvis inte i sökvägen, så du måste använda dot slash för att uttryckligen tala om för skalet att det ska köra ett program som finns här.
Har dot slash någon betydelse för programmering eller skriptskrivning?
I programmering, särskilt när du skriver shell-skript, använder du dot slash när du vill köra ett annat skript eller program från det skript du skriver. Det är ett sätt att se till att det anropade skriptet körs från den aktuella arbetskatalogen. Så det är en viktig konvention att förstå och använda korrekt när du skriver skript i Unix-liknande miljöer.
Vad händer när jag använder dot slash med en fil som inte är körbar?
Om du försöker använda dot slash med en fil som inte är markerad som körbar kommer systemet att ge dig ett felmeddelande, vanligtvis något i stil med "tillstånd nekat". För att köra en fil med dot slash måste du se till att den har körningsbehörighet, som du kan ställa in med kommandot chmod.
Kan jag använda punktslash med relativa sökvägar?
Ja, du kan använda dot slash med relativa sökvägar. Om du till exempel befinner dig i en katalog och vill köra ett skript i en underkatalog använder du dot slash följt av den relativa sökvägen till skriptet. Som "./subdir/myscript". Det är ett sätt att säga "från den aktuella katalogen, följ den här sökvägen för att hitta den körbara filen".
Har dot slash någon användning inom webbutveckling?
Dot slash är vanligt förekommande i Unix-baserade kommandoradsoperationer, men webbutvecklare kan se det i sökvägar för att inkludera filer eller resurser som bilder, CSS- eller JavaScript-filer. Det talar om för webbläsaren att begära en resurs i förhållande till den aktuella katalogen på webbsidan.
Vad händer om jag ser två prickar och ett snedstreck i en sökväg?
Två punkter följt av ett snedstreck "../" representerar den överordnade katalogen, inte den aktuella. Detta är en relativ sökväg som talar om för systemet att det ska gå upp en katalognivå från den aktuella katalogen. Den används ofta för att komma åt filer eller kataloger som ligger en nivå högre upp i hierarkin än där du befinner dig.
När skulle jag inte vilja använda punktslash?
Du skulle inte använda dot slash när du kör ett kommando som finns någonstans i systemets sökväg. Systemkommandon som "ls", "grep" eller "cd" kräver inte "./" eftersom de vanligtvis finns i kataloger som redan finns i miljövariabeln path, så att skalet vet var det ska hitta dem.
Kan användningen av dot slash vara annorlunda i skript jämfört med interaktiva skal?
När du arbetar i ett interaktivt skal är dot slash ett manuellt sätt att köra program i den aktuella katalogen. I skript kan du använda det för att säkerställa att de program eller skript du anropar körs från en känd plats, vilket minskar risken för att du av misstag kör fel program på grund av ett sökvägsproblem.
Vad är skillnaden mellan att använda dot slash och bara filnamnet?
Om du bara använder filnamnet utan punktslash förlitar du dig på systemets sökväg för att hitta den körbara filen. Om filen finns i en katalog som ligger i din sökväg kan du anropa den direkt. Punktslash säger uttryckligen till systemet att kringgå sökvägen och leta i den aktuella katalogen, vilket är viktigt om den aktuella katalogen inte finns i sökvägen.
Kan jag använda punktslash i filsökvägar för alla typer av filer?
Dot slash används vanligtvis för att köra skript eller binära filer. Det kan dock också användas för att referera till vilken filtyp som helst när du anger en sökväg för åtgärder som att öppna en fil i ett program. Det anger att den angivna sökvägen börjar från den aktuella katalogen, oavsett om det är för att köra, öppna eller på annat sätt komma åt filen.
Behövs punktslash om jag använder ett grafiskt gränssnitt?
I grafiska gränssnitt använder du vanligtvis inte dot slash. Du kör filer genom att klicka på dem eller använda andra grafiska verktyg. Punktslash är ett kommandoradskoncept, och de flesta grafiska gränssnitt tar hand om sökvägskontexten åt dig bakom kulisserna.
Kan jag ställa in ett skript så att det alltid körs med punkt snedstreck på något sätt?
Du kan inte ställa in ett skript så att det alltid körs med snedstreck. Varje gång du vill köra det från kommandoraden i den aktuella katalogen måste du använda dot slash. Du kan dock skapa ett alias eller en shell-funktion som innehåller dot slash eller lägga till en symbolisk länk till en katalog i din sökväg om du behöver tillgång till den ofta.
Skulle dot slash vara användbart för att ställa in miljövariabler?
Punktslash används vanligtvis inte för att ställa in miljövariabler direkt. Miljövariabler ställs in på sökvägar som ofta är helt konsekventa i olika kataloger. När du arbetar med skript som ställer in miljövariabler kan du dock använda dot slash för att köra dessa skript från den aktuella katalogen.
Kan dot slash användas med miljövariabler i sökvägar?
Miljövariabler kan användas i sökvägar, men de används vanligtvis för att ange absoluta sökvägar som inte ändras med den aktuella katalogen. Du skulle teoretiskt sett kunna sammanfoga en miljövariabel med ett snedstreck i ett skript, men det skulle vara okonventionellt och kunna leda till förvirring eller fel.