Jeg har ikke lagt noe av Bash, og det er at når jeg kommer inn i den fantastiske verdenen til Python, har jeg glemt litt om denne andre vennen som hjalp meg så mye 🙂
Her legger jeg noe til Bash-entusiaster, som tittelen sier ... Jeg skal vise deg hvordan du sjekker om en fil eller mappe finnes i systemet, bare ved å bruke: if
Vi skal lage en .sh-fil og gi den utførelsestillatelser, for dette er det nok å sette følgende kommando i en terminal:
touch test.sh && chmod + x test.sh
Hva dette gjorde er å opprette filen (berøringstest.sh) og gir deg også gjennomføringstillatelser (chmod + x test.sh)
La oss så skrive følgende i den:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Hva gjør dette?
Enkelt 😀
I første linje - » hvis [-d / opt /];
Her spør vi, eksisterer / opt / katalogen? Ja katalog / mappe, fordi -d betyr katalog eller mappe.
Så hvis den eksisterer, vil vi skrive ut i terminalen «Ja, den eksisterer.»(Dette er linje 2 og 3)
Ellers og / opt / eksisterer IKKE, så skriver vi ut «Nei det eksisterer ikke»(Linje 4 og 5)
Så i siste linje (nummer 6) lukker vi if og det er det.
Gjør testen, den viser deg at / opt / eksisterer.
Hvis du vil at jeg skal vise deg den andre teksten (den som ikke eksisterer), endre / opt / for en annen mappe som ikke finnes i systemet ditt, for eksempel: / asd /
Som du kan se, hjelper -d oss å vite om katalogen eksisterer, og hvis vi endrer -d til -f, er det å sjekke eksistensen av filer (-d = katalog, -f = fil / fil)
For eksempel:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Her er listen over alternativer:
-d - »Sjekk om det finnes en viss katalog
-f - »Sjekk om en bestemt fil eksisterer
-w - »Sjekk om en bestemt fil har skrivetillatelser
-x - »Sjekk om en bestemt fil har kjøringstillatelser.
Og vel, det er ikke mye mer å legge til 🙂
Jeg vet at dette vil være veldig nyttig og interessant for de som liker å programmere i Bash 😉
Hilsen
En annen måte å gjøre det uten om ... da..else:
test -f /etc/hosts && elcomando
Eller også
test ! -f /etc/hosts && echo "no se encontró el archivo"
Etc.
Høyre 😀
... O_O ... Er du Hugo, Hugo fra Cuba? ... Bruker Windows8, WTF !!!
Vel ja, jeg blir kjent med dette operativsystemet, og hvis jeg må være ærlig, er det eneste jeg har funnet nyttig, kopiadministratoren, ellers synes jeg det personlig er et skadedyr, spesielt dets hybridgrensesnitt og metroapplikasjonene. Jeg liker det mindre enn Vista og 7 (om enn litt mer effektivt enn disse), som jeg ikke likte heller. Det eneste jeg bruker det til er å spille NFS13 og Skyrim, men dette operativsystemet tar så mye plass at jeg måtte slette Linux-partisjonen [snif].
For din sjelefred vil jeg imidlertid fortelle deg at jeg i forgårs lastet ned Arch ISO for januar, og jeg planlegger å gi den en smakebit i x86-64-versjonen så snart jeg får repoen (vil du ha den? Nå som jeg så det bruker signerte pakker som standard, gir det meg mer selvtillit til å dykke.
Og faren min fortalte meg også at han ville sende meg en Sony Xperia, som jeg vil benytte meg av for å lære litt programmering for Android, som var et ventende ønske. Så rolig, jeg har ennå ikke gått til den mørke siden av styrken, buahahahaha 😉
mannstest
Jada.
Wenas! ..
Vi kan lage den samme .. ..men katalogen sendes som en parameter ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Og vi kaller det som:
./test.sh / opt /
Hilsen..
IF er ikke en syklus xD
Det passer meg som en hanske til et skript jeg holder på med. Er det gyldig å bruke jokertegn? For eksempel for å finne ut om det er noen .mp4s, kjør deretter noe på dem.
hvis [-f * .mp4];
...
Ja, det er helt gyldig ..
Selv gjennom parametere .. "* .mp4"
Eg
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Hvis du kaller det: ./test.sh * .mp4
Hvis den finner .mp4-filer, sletter den dem ... ... men den viser ikke filene i den katalogen ...
Takk for tilbakemeldingene og tipsene! 🙂
Du savnet f xD
rm -rf $ 1
Dette er mer spennende!
Fantastisk !!!, Hver dag jeg blir mer forelsket i Linux, har Windows blitt henvist til et mørkt hjørne av harddisken min, som er i ferd med å bli slettet for å vike for lyset fra Linux.
Utmerket! .. .. ta neste steg .. og få det ut ..
For 6 måneder siden ca. Jeg har bare GNU / Linux på alle maskinene mine, og jeg trenger ikke mer .. ..ikke W $ .. eller Vin .. ..og jeg er mer enn glad sånn ..
Og jeg smitter omgivelsene mine .. siden alle ser meg med min Arch, rask, effektiv og lykkelig .. ..og de ber meg om å installere Linux .. ..yeah! .. 😀
Du kan også sjekke dem for forskjellige utvidelser, du kan bruke noe sånt
#! / Bin / bash
Katalog = $ HJEM / Nedlastinger
hvis [$ Directory]; deretter
ekko "Her er en liste over filtyper:"
ekko "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
ved hjelp av {} kan du spesifisere flere utvidelser i dette tilfellet, bruk av "?" , er et jokertegn som lar deg ta "Any Character".
Jeg håper det hjelper deg
Jeg anbefaler kommandoen finn [katalog] [search_pattern] –exec [kommando] {} \
Det fungerer ikke, jeg la disse filene i katalogen:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / Bin / bash
PATH = / tmp / TEST
cd $ ROUTE
ls -la | awk '{print »« $ 9}'
hvis [[-f AB.TEKST]]; deretter
ekko »Angi IF hvis det er noen AB.TEKST "
fi
hvis [-f AB20160422.TXT]; deretter
ekko "input for a specific AB file"
fi
da jeg satte [-f AB.TXT] gir feil
da jeg satte [[-f AB.TXT]] gir ingen feil, men finner ikke filen
det fungerer bare når jeg legger en bestemt fil, for eksempel:
hvis [-f AB20160422.TXT]; deretter
Jeg kan ikke få det til å fungere med jokertegn * eller?
#! / usr / bin / env bash
#.koding = utf-8.
KONSTANTER
EXIT_OK = 0
EXIT_BAD = 66
FETT = »\ 033 [1m»
NC = »\ 033 [0m»
RØD = »\ 033 [31m»
hvis [! "$ 1"];
deretter
ekko "mangler en parameter"
avslutte $ EXIT_BAD
fi
cd "$ 1"
filer = »ls -h1 $ 1»
for fil i $ ($ files); gjøre
ekko -e "du kan gjøre hva som helst med $ BOLD $ fil $ nc her"
gjort
avslutte $ EXIT_OK
@KZ, fortell mer om dette: "og det er fordi jeg går inn i den fantastiske verdenen til Python"!
HAHAHAHA nah ... litt etter litt 🙂
Jeg er fortsatt bare en nybegynner i Python, jeg har knapt tid til å vie timer og timer til det, så jeg er treg, ja, treg, men sikker i læringen min 😀
Tusen takk 😀 bare i går tenkte jeg hvordan jeg skulle gjøre dette.
dette med ncurses er flott 🙂
med 1 ord ... UTMERKET!
I lang tid perfeksjonerte jeg et skript for å lage nedlastinger fra Internett, men jeg hadde problemet at det lastet ned filene det ba om 1 og igjen uten å kunne bekrefte eksistensen 1ro.
Veldig bra tuto.
Fantastisk bidrag, her fra Chile, blir verdsatt.
Hver dag overrasker LINUX meg hyggelig,
Leve gratis programvare MIERDAAAA.
server for
sjekk om en fil er fra en katalog
Hvis jeg vil sjekke eksistensen av en fil i en bane «/ tmp / mottakere», kan du utføre en hvilken som helst kommando, hvordan ville det være?
Jeg vil være veldig takknemlig
Hilsen
Kjære, og å avgjøre om HVIS om filen er fullbefolket ???. Jeg spør dette fordi når du fyller filen for en overføring, kan det ta det med halvparten av dataene.
Hilsen og takk for svaret ditt.
Vel, jeg tror du også bør legge til et eksempel, for eksempel "Sjekk at det ikke er" en "fil" eller "katalog" som for eksempel
for å sjekke at den IKKE eksisterer, bruk for eksempel en variabel->
En katalog
#! / Bin / bash
Directory = »$ HOME / Test Directory»
Fil = »$ HOME / Testfil»
hvis [! -d "$ Directory"]; deretter
ekko "Det er ingen $ Directory"
ekko "Opprette ->" $ Directory "
mkdir "$ Directory"
ellers
ekko "Katalog" $ Directory "eksisterer allerede
fi
hvis [! -d "$ File"]; deretter
ekko "Filen $ eksisterer ikke"
ekko "Opprette ->" $ File "
trykk på "$ File"
ellers
ekko "File" $ File "eksisterer allerede
fi
når du gjør mkdir, sjekk senere om terminalen kan opprette den fordi den kan knuse ballene hvis det er en mappe som root eller system hhah
Hilsen KZKG ^ Gaara et spørsmål hvordan jeg ville gjort for å bruke krøll. Jeg vil gjerne vite hvordan jeg gjør det fra konsollen til ping en url for å se om den er tilgjengelig for eksempel http://portal.com/directorio/archivo1.php Hvor file1 skal lagre IP-ene for besøk, er det for å overvåke et team som jeg trenger å lage den pin hver halvtime, slik at jeg er klar over den offentlige IP siden den endrer seg fra tid til annen, og jeg kan ikke koble til med ssh.
Hilsen takk på forhånd Gud velsigne deg.
Hei, hvordan har du det?
Først må du si at IP-variabelen (for eksempel) er innholdet i den filen, for dette må du:
1. Last ned filen
2. Se innholdet og få IP derfra
3. At IP er variabelen
For eksempel:
Her laster vi ned filen - »wget http://portal.com/directorio/archivo1.php -o fil.html
Deretter tildeler vi en variabel innholdet: - »: $ {IP: =` cat file.html`}
.. forutsatt at innholdet i den filen bare har IP, hvis ikke, må du jobbe med grep, awk eller head.
Når du har IP-en som variabel, er resten den enkleste tingen i verden 🙂
Hvis du vil, skriv til meg på e-post (kzkggaara[at]desdelinux[dot]net) Jeg hjelper deg gjerne
Tusen takk kzkggaara veldig takknemlig.
Hei, jeg forstår ikke mye om databehandling, og jeg vet ikke om denne oppføringen er relatert til problemet jeg har.
Jeg kommenterer i tilfelle du leser meg, selv om innlegget er fra for et år siden:
Det viser seg at jeg opprettet en mappe på skrivebordet mitt for å lagre noen videoer. Vel, jeg slettet disse videoene fordi jeg ikke lenger trengte dem, og nå forteller denne mappen meg at den ikke eksisterer (selv om den er synlig på skrivebordet mitt).
- Det er det første problemet jeg har:
Jeg kan ikke slette mappen.
- Andre problem, og jeg tror viktigere:
I et forsøk på å slette mappen, setter jeg en FOTO-mappe. Nå når jeg åpner mappen "eksisterer ikke", er den tom og FOTOENE mangler.
Hvordan kan jeg gjenopprette bildene? Jeg har gitt muligheten i mappen "Vis skjulte dokumenter", men mappen FOTO vises ikke.
Jeg håper du kan vite hvordan det løses.
Takk.
Det er to brukere som er de viktigste: root og your_user (for eksempel natalia). De har begge personlige mapper. din_bruker i / hjem og rot i / (rotkatalog). Ved å høyreklikke på mappen, se hvem den tilhører. Hvis det er root med filbehandleren din ved hjelp av sudo eller gksu eller kdesu, avhengig av miljøet du bruker, gå til rotkatalogen -> root -> Desktop, og du vil sannsynligvis finne bildene, og du kan slette mappen. Noen distroer når du ikke er eier av filen eller katalogen og ikke har tilgangstillatelser, forteller at katalogen / filen ikke eksisterer. Hvis du er eieren og ikke er root, gjør det samme med filbehandleren med sudo, etc og gå til rotkatalogen -> / home -> personal_folder -> Desktop og se om bildene er der og om du kan slette mappen.
Hvis dette ikke fungerer, må du se andre alternativer fra terminalen (konsollen).
Hei, hvordan har du det? Jeg gjør en jobb i bash og vil gjerne vite hvordan jeg kan kontrollere om det er skrevet inn en katalog fra tastaturet, for eksempel
#! / Bin / bash
lese rute
#Enter ~ / Desktop
# Så prøver jeg å navigere i katalogen
cd $ sti
# Jeg får følgende bash-melding: cd: ~ / Desktop: Filen eller katalogen eksisterer ikke
Spørsmålet mitt er: Hva kan jeg gjøre slik at jeg skriver inn det fra tastaturet og tar det som en katalogbane?
Og hvordan kan jeg vite om en gruppe eksisterer,
bra Jeg har et problem i canaimaen min når jeg trykker på knappen cunaguaro, det står at det ikke er noen fil eller katalog som det ville gjort for å løse det problemet, og resten åpner ikke cunaguaro takk.
Hvordan gjør du if in BASH hvis filnavnet har mellomrom?
For eksempel:
April data.xlsx
Å spørre om filen eksisterer
Carlos, slik:
hvis [["$ variable" == Data \ måned \ av \ April.xlsx]]; deretter ekko 'match'; fi
Du kan også:
hvis [["$ variable" == 'Data for april måned.xlsx']]; deretter ekko 'match'; fi
Et annet alternativ:
[["$ Variable" == 'Data for April.xlsx']] && echo 'matches' || ekko 'stemmer ikke overens'
I noen mørke områder på internett anbefaler de å bruke [[]] i stedet for [], og hvis du skal sammenligne tall da: ((variabel> = 3)) && echo 'variabel er større enn eller lik 3' | | ekko 'variabel er mindre enn 3'
Derfor, for tall:
hvis ((tall! = 4)); deretter ekko "$ {number} er ikke 4"; ellers ekko "$ {number} er 4"; fi
hvordan du kan lage en kode for å validere hvis katalogen har en bestemt tekst, for å kunne redigere den.
eksempel:
hvis (tekst1)
gjør ingenting
ellers
endre tekst1 til tekst2
et spørsmål, hvordan ville det være å sjekke hvert 15. sekund om filen eksisterer eller ikke, takk.
Hei,
dette:
hvis [-w / home / Komun / Logs / ti]; deretter
Finn ut om filen er skrivbar. Men det er basert på brukertillatelser. Kan det gjøres for å finne ut om gruppen eller de andre har tillatelser?