cd(1p)
cd(1p) – Linux manual sida
Prolog
Denna manualsida är en del av POSIX-programmerarens manual. Linux-implementeringen av detta gränssnitt kan skilja sig åt (konsultera motsvarande Linux-manualsida för detaljer om Linux-beteende), eller så kanske gränssnittet inte är implementerat på Linux.
Namn
cd – ändra arbetskatalog
Synopsis
cd [-L|-P] [katalog] cd -
Beskrivning
Verktyget cd ska ändra arbetskatalogen i den aktuella shell-exekveringsmiljön genom att utföra följande steg i ordning:
- Om ingen katalog anges och miljövariabeln HOME är tom eller odefinierad, är standardbeteendet implementation-specifikt och inga ytterligare steg utförs.
- Om ingen katalog anges och HOME är satt till ett värde, ska cd bete sig som om katalogen angiven i HOME användes som katalogargument.
- Om katalogargumentet börjar med ett / (snedstreck), sätts curpath till argumentet och steget går direkt till steg 7.
- Om den första komponenten i katalogargumentet är . eller .., gå till steg 6.
- Om CDPATH är satt, testas varje angiven sökväg i CDPATH för att hitta den angivna katalogen. Om en match hittas, används den.
- Annars sätts curpath till katalogargumentet.
- Om flaggan -P används, hoppa till steg 10. Om curpath inte börjar med /, sammanfogas den med PWD (den nuvarande arbetskatalogen).
- curpath omvandlas till en kanonisk form:
- . tas bort.
- .. tas bort tillsammans med föregående katalog i sökvägen.
- Flera snedstreck // reduceras till ett enda.
- Om curpath är längre än {PATH_MAX}, kan den omvandlas till en relativ sökväg.
- cd anropar chdir(curpath), vilket ändrar arbetskatalogen. Om detta misslyckas, visas ett felmeddelande.
Om PWD är satt, kommer OLDPWD att sättas till den tidigare arbetskatalogen.
Flaggor
- -L – Behandla .. logiskt utan att lösa symboliska länkar.
- -P – Behandla .. fysiskt genom att lösa symboliska länkar.
Om båda flaggorna anges, används den sist nämnda.
Operander
- katalog – En absolut eller relativ sökväg till den nya arbetskatalogen.
- - – Växlar till den senaste arbetskatalogen och skriver ut dess namn.
Standard inmatning
Ej använd.
Indatafiler
Ingen.
Miljövariabler
Följande miljövariabler påverkar exekveringen av cd:
- CDPATH – En kolonseparerad lista med kataloger att söka i när en relativ sökväg används.
- HOME – Standardkatalogen om inget argument anges.
- PWD – Den aktuella arbetskatalogen.
- OLDPWD – Den tidigare arbetskatalogen.
- LANG – Ger ett standardvärde för lokalinställningar.
- LC_ALL – Om denna variabel är satt, åsidosätter den alla andra lokalinställningar.
- LC_CTYPE – Bestämmer hur textdata tolkas, exempelvis enbyte- eller flerbyte-tecken.
- LC_MESSAGES – Bestämmer format och innehåll i felmeddelanden.
- NLSPATH – Bestämmer platsen för lokaliserade meddelandekataloger.
Asynkrona händelser
Standard.
Standardutdata
Om en katalog från CDPATH används eller om `cd -` används, skrivs den absoluta sökvägen till standardutdata:
"%s\n", <ny katalog>
I andra fall skrivs ingen utdata.
Standardfel
Används endast för diagnostiska meddelanden.
Utdatafiler
Ingen.
Utökad beskrivning
Ingen.
Avslutningsstatus
Följande utgångsvärden används:
- 0 – Katalogen ändrades framgångsrikt.
- >0 – Ett fel uppstod.
Konsekvenser av fel
Arbetskatalogen förblir oförändrad.
Användning i applikationer
Eftersom cd påverkar den aktuella shell-miljön, tillhandahålls det alltid som ett inbyggt shell-kommando. Om det anropas i en separat exekveringsmiljö, exempelvis:
(cd /tmp) nohup cd find . -exec cd {} \;
påverkar det inte arbetskatalogen i det omgivande skalet.
Användaren måste ha exekveringsrättigheter i katalogen för att kunna byta till den.
Exempel
Byta till en katalog och sedan tillbaka:
cd /tmp cd -
Om katalogen inte finns, skriv ut ett felmeddelande:
cd /okänd/katalog if [ $? -ne 0 ]; then echo "Fel: katalogen existerar inte." exit 1 fi
Rationellt
- CDPATH introducerades i System V-shellen och fungerar likt variabeln PATH för kommandosökning.
- Vissa äldre shells (t.ex. KornShell) hanterade `..` logiskt, medan andra använde en strikt fysisk tolkning.
- Det logiska läget är nu standard.
Framtida riktningar
Inga.
Se även
- pwd(1p) – Visar den nuvarande arbetskatalogen.
- sh(1p) – POSIX-kompatibelt shell.
- POSIX-standarden chdir(3p).
Upphovsrätt
Denna sida innehåller material från IEEE Std 1003.1-2017, Standard för Informationsteknik – Portable Operating System Interface (POSIX). För den officiella versionen, se:
Rapportera eventuella fel till:
Sidslut
Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/cd.1p.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.