Nisam stavio ništa od toga bash, a to je da sam dok ulazim u čudesni svijet Pythona pomalo zaboravio na ovog drugog prijatelja koji mi je toliko pomogao 🙂
Ovdje sam stavio nešto za Bash entuzijaste, kao što naslov kaže ... Pokazat ću vam kako provjeriti postoji li datoteka ili mapa u sistemu, samo koristeći: if
Stvorit ćemo .sh datoteku i dati joj dozvole za izvršenje, za to samo stavite sljedeću naredbu u terminal:
dodirni test.sh && chmod + x test.sh
Ovo što je uradio je stvoriti datoteku (dodirni test.sh) i takođe vam daju dozvole za izvršenje (chmod + x test.sh)
Onda napišimo u njega sljedeće:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Šta ovo znači?
Jednostavno 😀
U prvom redu - » ako je [-d / opt /];
Ovdje se pitamo, postoji li / opt / direktorij? Da direktorij / mapa, jer -d označava direktorij ili mapu.
Tada, ako postoji, ispisat ćemo u terminalu «Da, postoji.»(Ovo su redovi 2 i 3)
U suprotnom i / opt / NE postoji, tada ćemo ispisati «Ne, ne postoji»(Redovi 4 i 5)
Zatim u posljednjem redu (broj 6) zatvorimo if i to je to.
Napravite test, on će vam pokazati da / opt / postoji.
Ako želite da vam pokažem drugi tekst (onaj koji ne postoji), promijenite / odlučite / za bilo koju drugu mapu koja ne postoji u vašem sistemu, na primjer: / asd /
Kao što vidite, -d nam pomaže da znamo postoji li direktorij, pa ako sada promijenimo -d u -f, provjerit ćemo postojanje datoteka (-d = direktorij, -f = datoteka / datoteka)
Na primjer:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Evo liste opcija:
-d - »Provjerite postoji li određeni direktorij
-f - »Provjerite postoji li određena datoteka
-w - »Provjerite ima li određena datoteka dozvolu za pisanje
-x - »Provjerite ima li određena datoteka dozvole za izvršenje.
I dobro, nema se još puno dodati 🙂
Znam da će ovo biti vrlo korisno i zanimljivo onima koji vole programirati na Bashu 😉
Saludos
Drugi način da to učinite bez ako ... onda..else:
test -f /etc/hosts && elcomando
Ili takođe
test ! -f /etc/hosts && echo "no se encontró el archivo"
Itd.
Tačno 😀
… O_O… Jesi li ti Hugo, Hugo sa Kube? … Koristeći Windows8, WTF !!!
Pa da, upoznajem se s ovim OS-om i ako moram biti iskren, jedino što mi se učinilo korisnim je upravitelj kopiranja, inače lično smatram da to muči, posebno njegov hibridni interfejs i metro aplikacije. Sviđa mi se manje od Viste i 7 (doduše nešto efikasnije od ovih), što se ni meni nije svidjelo. Sve za što ga koristim je da igram NFS13 i Skyrim, ali ovaj OS zauzima toliko prostora da sam morao izbrisati svoju Linux particiju [snif].
Međutim, radi vašeg mira, reći ću vam da sam prekjučer preuzeo Arch Arch za januar i planiram ga probati u verziji x86-64, čim dobijem repo (hoćete li ga dobiti?). Sad kad vidim da po defaultu koristi potpisane pakete, daje mi više samopouzdanja za ronjenje.
Otac mi je također rekao da će mi poslati Sony Xperiju, koju želim iskoristiti da naučim programiranje za Android, što je bila čekanje na želju. Tako se smiri, još nisam otišao na tamnu stranu sile, buahahahaha 😉
test čoveka
Naravno.
Wenas! ..
Mogli bismo napraviti isti .. ..ali direktorij se prosljeđuje kao parametar ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
I nazivamo ga kao:
./test.sh / opt /
Pozdrav ..
AKO nije ciklus xD
Odgovara mi poput rukavice za scenario koji radim. Da li je valjano koristiti zamjenske znakove? Na primjer, da biste saznali postoje li .mp4 datoteke, pokrenite nešto na njima.
ako je [-f * .mp4];
...
Da, potpuno vrijedi ..
Čak i kroz parametre .. "* .mp4"
Na primjer,
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Ako ga pozovete: ./test.sh * .mp4
Ako pronađe .mp4 datoteke, briše ih .. ..ali ne navodi datoteke u tom direktoriju ..
Hvala na povratnim informacijama i savjetima! 🙂
Promašili ste f xD
rm -rf $ 1
Ovo je uzbudljivije!
Predivno !!!, Svakim danom kada se sve više zaljubljujem u Linux, Windows je prebačen u neki mračni kutak mog tvrdog diska, koji će se uskoro izbrisati kako bi ustupio mjesto svjetlu Linuxa.
Izvrsno! .. ..potom napravite sljedeći korak .. i izvadite ga ..
Prije 6 mjeseci Na svim svojim mašinama imam samo GNU / Linux i ne treba mi više .. ..ne W $ .. ili Wine .. ..i ja sam više nego sretan .. 😉
A ja zaražavam svoju okolinu .. budući da me svi vide s mojim Archom, brzim, efikasnim i sretnim .. ..i traže od mene da instaliram Linux .. .. da! .. ..
Možete ih provjeriti i za različita proširenja, možete koristiti nešto poput
#! / bin / bash
Direktorij = $ HOME / Preuzimanja
if [$ direktorij]; onda
echo "Evo popisa vrsta datoteka:"
eho "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
pomoću {} omogućava vam da odredite više ekstenzija u ovom slučaju, koristeći "?" , je zamjenski znak, koji vam omogućava da uzmete "Bilo koji znak".
Nadam se da će vam pomoći
Preporučujem naredbu find [direktorij] [obrazac_pretrage] –exec [naredba] {} \
Ne radi, stavio sam ove datoteke u direktorij:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / bin / bash
PUT = / tmp / TEST
cd $ RUTA
ls -la | awk '{ispis »« $ 9} »
ako je [[-f AB.PORUKA]]; onda
echo »Unesite IF ako postoji AB.PORUKA "
fi
ako [-f AB20160422.TXT]; onda
echo "ulaz za određenu AB datoteku"
fi
kada stavim [-f AB.TXT] daje grešku
kad stavim [[-f AB.TXT]] ne daje grešku, ali ne može pronaći datoteku
to funkcionira samo kad stavim određenu datoteku, na primjer:
ako [-f AB20160422.TXT]; onda
Ne mogu ga natjerati da radi sa zamjenskim znakovima * ili?
#! / usr / bin / env bash
#.kodiranje = utf-8.
NADZORNICI
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1m»
NC = »\ 033 [0m»
CRVENA = »\ 033 [31m»
ako [! "$ 1"];
onda
echo "nedostaje parametar"
izađi $ EXIT_BAD
fi
cd "$ 1"
files = »ls -h1 $ 1»
za datoteku u $ ($ files); učiniti
echo -e "ovdje možete učiniti sve sa $ BOLD $ file $ nc"
done
izađi $ EXIT_OK
@KZ, reci više o ovome: "i to zato što ulazim u čudesni svijet Pythona"!
HAHAHAHA ne ... malo po malo 🙂
Još uvijek sam tek početnik u Pythonu, teško da imam vremena posvetiti mu sate i sate, pa sam spor da, spor, ali siguran u učenju 😀
Puno vam hvala 😀 baš jučer sam razmišljao kako to učiniti.
ovo s ncurses je super 🙂
jednom riječju ... ODLIČNO!
Dugo sam usavršavao skriptu za preuzimanje s Interneta, ali imao sam problem što je preuzimao datoteke koje je tražio 1 i opet bez mogućnosti provjere postojanja 1ro.
Vrlo dobar tuto.
Ogroman doprinos, ovdje iz Čilea se cijeni.
Svaki dan me više LINUX ugodno iznenadi,
Živio besplatni softver MIERDAAAA.
služiti za
provjerite je li datoteka iz direktorija
Ako želim provjeriti postojanje bilo koje datoteke na putu «/ tmp / prijemnici», izvršite bilo koju naredbu, kako bi to bilo?
Biću vam vrlo zahvalan
Saludos
Poštovani, i da pomoću IF utvrdim je li datoteka u potpunosti popunjena ???. To pitam jer kad ispunjavate datoteku za prijenos, može je uzeti čak i s pola podataka.
Pozdrav i hvala na odgovoru.
Pa mislim da biste trebali dodati i primjer, kao što je "Provjerite da ne postoji" "datoteka" ili "direktorij" kao na primjer
kako biste provjerili da NE postoji, na primjer koristite varijablu->
Direktorij
#! / bin / bash
Direktorij = »$ HOME / Test direktorij»
Datoteka = »$ HOME / Probna datoteka»
ako [! -d "$ direktorij"]; onda
echo "Nema $ direktorija"
echo "Stvaranje ->" $ direktorij "
mkdir "$ direktorij"
drugo
echo "Direktorij" $ direktorij "već postoji
fi
ako [! -d "$ datoteka"]; onda
echo "Datoteka $ ne postoji"
echo "Stvaranje ->" $ datoteka "
dodirnite "$ File"
drugo
echo "Datoteka" $ File "već postoji
fi
kad kasnije provjerite mkdir da li bi ga terminal mogao stvoriti jer može razbiti kuglice ako je to mapa kao root ili sistem hhah
Pozdrav KZKG ^ Gaara upit kao što bih to učinio da koristim curl. Volio bih znati kako radim od konzole do pinga URL-a da vidim je li dostupan, na primjer http://portal.com/directorio/archivo1.php Tamo gdje će file1 čuvati IP adrese posjeta, za nadgledanje tima trebam napraviti taj pin svakih pola sata kako bih bio svjestan javnog IP-a jer se s vremena na vrijeme mijenja i ne mogu se povezati ssh-om .
Pozdrav hvala unaprijed Bog vas blagoslovio.
Zdravo, kako ide
Prvo, morate reći da je IP varijabla (na primjer) sadržaj te datoteke, za to morate:
1. Preuzmite datoteku
2. Pogledajte njegov sadržaj i odatle nabavite IP
3. Taj IP je varijabla
Na primjer:
Ovdje preuzimamo datoteku - »wget http://portal.com/directorio/archivo1.php -o fajl.html
Zatim dodijelimo varijabli njen sadržaj: - »: $ {IP: =` cat file.html`}
.. pod pretpostavkom da sadržaj te datoteke ima samo IP, ako ne, morat ćete raditi s grep, awk ili head.
Jednom kada već imate IP kao varijablu, ostalo je najjednostavnija stvar na svijetu 🙂
Ako želite, pišite mi na email (kzkggaara[at]desdelinux[dot]net) Rado ću vam pomoći
Veliko hvala kzkggaara vrlo zahvalan.
Bok, ne razumijem se puno u računarstvo i ne znam je li ovaj post povezan s problemom koji imam.
Komentiram u slučaju da me pročitate, iako je objava od prije godinu dana:
Ispada da sam na radnoj površini stvorio mapu za čuvanje nekih video zapisa. Pa, izbrisao sam te videozapise jer mi više nisu trebali, a sada mi ovaj folder govori da ne postoje (iako su vidljivi na mojoj radnoj površini).
- To je prvi problem koji imam:
Ne mogu izbrisati mapu.
- Drugi problem i mislim da je važniji:
U pokušaju da izbrišem mapu, stavio sam mapu FOTOGRAFIJE. Sada kada otvorim mapu koja "ne postoji", prazna je i FOTOGRAFIJE nisu tamo.
Kako mogu povratiti fotografije? Dao sam opciju unutar mape "Prikaži skrivene dokumente", ali mapa FOTOGRAFIJE se ne pojavljuje.
Nadam se da možete znati kako se to rješava.
Hvala.
Dva su glavna korisnika: root i your_user (natalia na primjer). Oboje imaju lične fascikle. vaš_korisnik u / home i root u / (root direktorij). Klikom desnog klika na mapu pogledajte kome pripada. Ako je root sa vašim upraviteljem datoteka koristeći sudo ili gksu ili kdesu, ovisno o okruženju koje koristite, idite u korijenski direktorij -> root -> Desktop i vjerojatno ćete pronaći fotografije i možete izbrisati mapu. Neke distribucije kada niste vlasnik datoteke ili direktorija i nemate dozvole za pristup kažu vam da direktorij / datoteka ne postoji. Ako ste vlasnik, a niste root, učinite isto s upraviteljem datoteka sa sudo, itd. I idite u osnovni direktorij -> / home -> personal_folder -> Desktop i provjerite jesu li fotografije tu i možete li mapu izbrisati.
Ako ovo ne uspije, morat ćete vidjeti ostale opcije s terminala (konzole).
Bok, kako ste? Radim posao u bashu i želio bih znati kako provjeriti postoji li direktorij koji se unosi s tipkovnice, na primjer
#! / bin / bash
pročitajte rutu
#Enter ~ / Desktop
# Tada pokušam navigirati tim direktorijumom
cd $ putanja
# Dobivam sljedeću bash poruku: cd: ~ / Desktop: Datoteka ili direktorij ne postoji
Moje pitanje je, što mogu učiniti tako da ga unesem s tipkovnice i uzmem kao put direktorija?
I kako mogu znati postoji li grupa,
dobro Imam problem u kanamu kad pritisnem tipku cunaguaro, piše da ne postoji datoteka ili direktorij kao što bi to učinio da riješi taj problem, a ostalo se ne otvara cunaguaro, molim hvala.
Kako se radi ako u BASH-u ako naziv datoteke ima razmake?
Na primjer:
April data.xlsx
Da biste pitali postoji li datoteka
Carlos, ovako:
ako [["$ varijabla" == Podaci \ mjesec \ od \ aprila.xlsx]]; zatim odjek 'podudaranje'; fi
Takođe možete:
if [["$ variable" == 'Podaci za april.xlsx']]; zatim odjek 'podudaranje'; fi
Druga opcija:
[["$ Variable" == 'Podaci za april.xlsx']] && echo 'podudaranja' || eho 'se ne podudara'
U nekim mračnim područjima Interneta preporučuju upotrebu [[]] umjesto [], a ako ćete upoređivati brojeve tada: ((varijabla> = 3)) && echo 'varijabla je veća ili jednaka 3' || echo 'varijabla je manja od 3'
Stoga, za brojeve:
if ((broj! = 4)); tada eho "$ {broj} nije 4"; inače jeka "$ {broj} je 4"; fi
kako možete napraviti kod za provjeru valjanosti ako direktorij ima određeni tekst, kako biste ga mogli uređivati.
primer:
ako (text1)
ne raditi ništa
drugo
promijenite text1 u text2
pitanje, kako bi bilo provjeravati svakih 15 sekundi postoji li datoteka ili ne, hvala.
zdravo,
ovo:
if [-w / home / Komun / Logs / ti]; onda
Otkrijte da li je u datoteku moguće zapisati. Ali zasniva se na korisničkim dozvolama. Može li se to učiniti kako bi se saznalo da li grupa ili ostali imaju dozvole?