How To Use LMMS - Tutorial For Beginners (FREE DAW)
Innehållsförteckning:
- Kontrollera om fil finns
- Kontrollera om katalogen finns
- Kontrollera om filen inte finns
- Kontrollera om flera filer finns
- Filtestoperatörer
- Slutsats
Många gånger när du skriver Shell-skript kan du befinna dig i en situation där du behöver utföra en åtgärd baserad på om en fil finns eller inte.
I Bash kan du använda testkommandot för att kontrollera om en fil finns och bestämma filtypen.
Testkommandot har en av följande syntaxformer:
Kontrollera om fil finns
När du kontrollerar om en fil finns är de mest använda FIL-operatörerna
-e
och
-f
. Den första kommer att kontrollera om en fil finns oavsett typ, medan den andra kommer att returnera true endast om FILEN är en vanlig fil (inte en katalog eller en enhet).
Det mest läsbara alternativet när du kontrollerar om en fil finns eller inte är att använda testkommandot i kombination med if-uttalandet. Någon av utdragen nedan kommer att kontrollera om filen
/etc/resolv.conf
finns:
FILE=/etc/resolv.conf if test -f "$FILE"; then echo "$FILE exist" fi
FILE=/etc/resolv.conf if; then echo "$FILE exist" fi
FILE=/etc/resolv.conf if]; then echo "$FILE exist" fi
Om du vill utföra en annan åtgärd baserad på om filen finns eller inte använder du if / sedan-konstruktionen:
FILE=/etc/resolv.conf if; then echo "$FILE exist" else echo "$FILE does not exist" fi
Använd alltid dubbla citat för att undvika problem när du hanterar filer som innehåller blanksteg i deras namn.
Du kan också använda testkommandot utan if-uttalandet. Kommandot efter
&&
operatören kommer endast att köras om testkommandoens utgångsstatus är sant,
test -f /etc/resolv.conf && echo "$FILE exist"
&& echo "$FILE exist"
] && echo "$FILE exist"
&& { echo "$FILE exist"; cp "$FILE" /tmp/; }
Motsatt till
&&
, uttalandet efter
||
operatören kommer endast att köras om testkommandoens utgångsstatus är
false
.
&& echo "$FILE exist" || echo "$FILE does not exist"
Kontrollera om katalogen finns
Operatörerna
-d
låter dig testa om en fil är en katalog eller inte.
Till exempel för att kontrollera om
/etc/docker
finns som du skulle använda:
FILE=/etc/docker if; then echo "$FILE is a directory" fi
&& echo "$FILE is a directory"
Du kan också använda dubbla parenteser
, 'linuxize_com-medrectangle-4', 'ezslot_7', 160, '0', '0']));
Kontrollera om filen inte finns
Liksom många andra språk kan testuttrycket negeras med hjälp av
!
(utropstecken) logiskt inte operatör:
FILE=/etc/docker if; then echo "$FILE does not exist" fi
Samma som ovan:
&& echo "$FILE does not exist"
Kontrollera om flera filer finns
Istället för att använda komplicerade kapslade om / annars konstruerar kan du använda
-a
(eller
&&
med
; then echo "$FILE is a directory" fi
FILE=/etc/docker if; then echo "$FILE is a directory" fi
Motsvarande varianter utan att använda IF-uttalandet:
&& echo "both files exist"
Filtestoperatörer
Testkommandot innehåller följande FIL-operatörer som låter dig testa för vissa filtyper:
-
-b
FILE
- Sant om FILEN finns och är en block-specialfil.-c
FILE
- Sant om FILEN finns och är en specialteckenfil.-d
FILE
- Sant om FILEN finns och är en katalog.-e
FILE
- Sant om FILEN finns och är en fil, oavsett typ (nod, katalog, socket, etc.).-f
FILE
- Sant om FILEN finns och är en vanlig fil (inte en katalog eller enhet).-G
FILE
- Sant om FILEN finns och har samma grupp som användaren som kör kommandot.-h
FILE
- Sant om FILEN finns och är en symbolisk länk.-g
FILE
- Sant om FILEN finns och har set-group-id (sgid) flagguppsättning.-k
FILE
- Sant om FILEN finns och har en klibbig bitflagguppsättning.-L
FILE
- Sant om FILEN finns och är en symbolisk länk.-O
FILE
- Sant om FILEN finns och ägs av användaren som kör kommandot.-p
FILE
- Sant om FILEN finns och är ett rör.-r
FILE
- Sant om FILEN finns och är läsbar.-S
FILE
- Sant om FILEN finns och är uttaget.-s
FILE
- Sant om FILEN finns och har storleksanpassning.-u
FILE
- Sant om den existerande och set-user-id (suid) flaggan är inställd.-w
FILE
- Sant om FILEN finns och är skrivbar.-x
FILE
- Sant om FILEN finns och är körbar.
Slutsats
I den här guiden har vi visat dig hur du kan kontrollera om en fil eller katalog finns med Bash.
bash terminalLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Med Windows 10 v1803 erbjuder Microsoft dig nu ett sätt att se hur mycket data din trådlösa eller Ethernet-adapter kan konsumera. Detta är viktigt på grund av datagränser som du kan ha med din Internetleverantör. Jag är säker på att många av er har obegränsad eller stor mängd data bandbredd, men det finns många som inte har detta privilegium. Thisfeature är viktigt för dem, eftersom data inte är billiga och därmed kan man förstå hur mycket data har konsumeras utan att använda något tredje partve
Det finns en annan aspekt. Många gånger kan du ansluta till flera nätverk - och du får veta detaljer om det också.
Hur man kontrollerar om det finns en fil eller katalog i python
När du skriver Python-skript kanske du vill utföra en viss åtgärd endast om en fil eller katalog finns eller inte. Till exempel kanske du vill läsa eller skriva data till en konfigurationsfil eller skapa filen endast om den inte redan finns.