Nisem dal ničesar od Bashin to je, da sem med vstopom v čudoviti svet Pythona malo pozabil na tega drugega prijatelja, ki mi je tako pomagal 🙂
Tukaj nekaj dam Bašovim navdušencem, kot piše v naslovu ... Pokazal vam bom, kako preverite, ali v sistemu obstaja datoteka ali mapa, in sicer z uporabo: if
Ustvarili bomo datoteko .sh in ji dali dovoljenja za izvajanje, za to je dovolj, da v terminal vstavimo naslednji ukaz:
test na dotik.sh && chmod + x test.sh
To je ustvarilo datoteko (test na dotik.sh) in tudi dovoljenja za izvajanje (chmod + x test.sh)
Nato zapišimo vanjo naslednje:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Kaj to pomeni?
Preprosto 😀
V prvi vrstici - » če je [-d / opt /];
Tu vprašamo, ali obstaja / opt / imenik? Da, imenik / mapa, ker je -d pomeni imenik ali mapo.
Nato bomo v primeru, da obstaja, tiskali v terminalu «Da, obstaja.»(To sta vrstici 2 in 3)
V nasprotnem primeru in / opt / NE obstaja, bomo natisnili «Ne, ne obstaja»(Vrstici 4 in 5)
Nato v zadnji vrstici (številka 6) zapremo if in to je to.
Naredite test, pokazal vam bo, da / opt / obstaja.
Če želite, da vam pokažem drugo besedilo (tisto, ki ne obstaja), spremenite / opt / za katero koli drugo mapo, ki ne obstaja v vašem sistemu, na primer: / asd /
Kot lahko vidite, nam -d pomaga vedeti, ali imenik obstaja, zdaj pa, če spremenimo -d v -f, preverimo obstoj datotek (-d = imenik, -f = datoteka / datoteka)
Na primer:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Tu je seznam možnosti:
-d - »Preverite, ali obstaja določen imenik
-f - »Preverite, ali obstaja določena datoteka
-w - »Preverite, ali ima določena datoteka dovoljenja za pisanje
-x - »Preverite, ali ima določena datoteka dovoljenja za izvajanje.
In nobenega več ni za dodati 🙂
Vem, da bo to zelo koristno in zanimivo za tiste, ki radi programirajo v Bashu 😉
pozdrav
Drug način, da to storite brez, če ... potem..else:
test -f /etc/hosts && elcomando
Ali tudi
test ! -f /etc/hosts && echo "no se encontró el archivo"
Itd.
Desno 😀
... O_O ... Si Hugo, Hugo s Kube? ... Uporaba Windows8, WTF !!!
No ja, seznanjam se s tem operacijskim sistemom in če moram biti odkrit, je edina stvar, ki se mi je zdela koristna, upravitelj kopij, sicer pa se mi osebno zdi škodljivec, zlasti hibridni vmesnik in podzemne aplikacije. Všeč mi je manj kot Vista in 7 (čeprav nekoliko bolj učinkovita od teh), ki pa mi tudi niso bile všeč. Edino za kar ga uporabljam je igranje NFS13 in Skyrim, vendar ta operacijski sistem zavzema toliko prostora, da sem moral izbrisati svojo particijo Linuxa [snif].
Za vašo mirnost pa vam povem, da sem predvčerajšnjim prenesel Arch ISO za januar in ga nameravam takoj preizkusiti v svoji različici x86-64, takoj ko dobim repo (ga boste dobili?). Zdaj, ko sem videl, da privzeto uporablja podpisane pakete, mi daje več samozavesti, da se potapljam.
Oče mi je tudi rekel, da mi bo poslal Sony Xperia, ki jo želim izkoristiti, da se naučim nekaj programiranja za Android, kar je bila čakajoča želja. Tako se pomiri, še nisem šel na temno stran sile, buahahahaha 😉
človeški test
Seveda
Wenas! ..
Lahko bi naredili istega .. ..ali se imenik posreduje kot parameter ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
In temu pravimo kot:
./test.sh / opt /
Lep pozdrav ..
IF ni cikel xD
Ustreza mi kot rokavice za scenarij, ki ga delam. Ali velja uporaba nadomestnih znakov? Na primer, če želite ugotoviti, ali obstajajo .mp4, nato na njih zaženite nekaj.
če je [-f * .mp4];
...
Da, popolnoma velja ..
Tudi skozi parametre .. "* .mp4"
Npr
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Če ga pokličete: ./test.sh * .mp4
Če najde datoteke .mp4, jih izbriše .. .. vendar datotek v tem imeniku ni na seznamu ..
Hvala za povratne informacije in nasvete! 🙂
Pogrešali ste f xD
rm -rf 1 $
To je bolj razburljivo!
Čudovito !!!, Vsak dan, ko se bolj zaljubim v Linux, je Windows premaknjen v nek temen kotiček mojega trdega diska, ki bo kmalu izbrisan, da bo ukinil luč Linuxa.
Odlično! .. ..naprej naredite naslednji korak .. in ga izvlecite ..
Pred 6 meseci približno Na vseh svojih računalnikih imam samo GNU / Linux in ne potrebujem več .. ..ne W $ .. ali Wine .. ..in tako sem več kot srečen .. 😉
In okužujem okolico .. saj me vsi vidijo z mojim Archom, hitro, učinkovito in srečno .. ..prosijo me, naj namestim Linux .. .. ja! .. 😀
Lahko jih tudi preverite za različne končnice, lahko uporabite kaj podobnega
#! / Bin / bash
Imenik = $ HOME / Prenosi
če [$ Imenik]; potem
echo "Tu je seznam vrst datotek:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
z uporabo {} v tem primeru lahko določite več razširitev z uporabo "?" , je nadomestni znak, ki vam omogoča, da vzamete "Kateri koli znak".
Upam, da vam pomaga
Priporočam ukaz find [directory] [search_pattern] –exec [ukaz] {} \
Ne deluje, te datoteke sem dal v imenik:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / Bin / bash
POT = / tmp / TEST
cd $ POT
ls -la | awk '{natisni »« $ 9} »
če je [[-f AB.TXT]]; potem
echo »Vnesite IF, če obstaja AB.TXT »
fi
če [-f AB20160422.TXT]; potem
echo "vnos za določeno datoteko AB"
fi
ko postavim [-f AB.TXT] daje napako
ko postavim [[-f AB.TXT]] ne povzroči napake, vendar datoteke ne najde
deluje samo, ko dam določeno datoteko, na primer:
če [-f AB20160422.TXT]; potem
Ne morem doseči, da bi delal z nadomestnimi znaki * ali?
#! / usr / bin / env bash
#.kodiranje = utf-8.
NEPREMIČNINE
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1 m»
NC = »\ 033 [0 m»
RDEČA = »\ 033 [31m»
če [! "1 USD"];
POTEM
echo "manjka parameter"
izhod $ EXIT_BAD
fi
cd "$ 1"
files = »ls -h1 $ 1»
za datoteko v $ ($ files); naredi
echo -e "tukaj lahko naredite karkoli z $ BOLD $ datoteko $ nc"
opravljeno
izhod $ EXIT_OK
@KZ, povej več o tem: «in to je, da vstopam v čudoviti svet Pythona»!
HAHAHAHA ne ... malo po malo 🙂
Še vedno sem samo začetnik Pythona, komaj imam časa, da bi mu namenil ure in ure, zato sem počasen, počasen, a v svojem učenju prepričan 😀
Najlepša hvala 😀 ravno včeraj sem razmišljal, kako to narediti.
to z ncurses je super 🙂
z eno besedo ... ODLIČNO!
Dolgo časa sem izpopolnjeval skript za prenos iz interneta, vendar sem imel težavo, da bo prenesel datoteke, ki jih je zahteval 1, in še enkrat, ne da bi mogel preveriti obstoj 1ro.
Zelo dober tuto.
Izjemen prispevek iz Čila je cenjen.
Vsak dan me LINUX prijetno preseneti,
Naj živi brezplačna programska oprema MIERDAAAA.
služijo za
preverite, ali je datoteka iz imenika
Če želim preveriti obstoj katere koli datoteke na poti «/ tmp / sprejemniki», zaženite mi kateri koli ukaz, kako bi bilo?
Zelo vam bom hvaležen
pozdrav
Spoštovani, in z IF določiti, ali je datoteka v celoti poseljena ???. To vprašam, ker ko datoteko polnite za prenos, lahko traja tudi s polovico podatkov.
Lep pozdrav in hvala za vaš odgovor.
No, mislim, da bi morali dodati tudi primer, na primer "Preverite, ali ni" datoteke "ali" imenika ", kot je na primer
da preverite, ali NE obstaja, na primer uporabite spremenljivko->
Imenik
#! / Bin / bash
Imenik = »$ HOME / Preizkusni imenik»
Datoteka = »$ HOME / Preizkusna datoteka»
če [! -d "$ Directory"]; potem
echo "Ni $ imenika"
echo "Ustvarjanje ->" $ Directory "
mkdir "Imenik $"
ostalo
echo "Imenik" $ Directory "že obstaja
fi
če [! -d "$ File"]; potem
echo "Datoteka $ ne obstaja"
echo "Ustvarjanje ->" $ File "
dotaknite se »$ File«
ostalo
echo "Datoteka" $ File "že obstaja
fi
ko kasneje preverite mkdir, če bi ga lahko ustvaril terminal, ker lahko zlomi kroglice, če gre za mapo kot root ali sistem hhah
Lep pozdrav KZKG ^ Gaara poizvedba, kot bi jo uporabil za uporabo curl. Želel bi vedeti, kako na primer od konzole pingam url, da vidim, če je na voljo http://portal.com/directorio/archivo1.php kje bo datoteka1 shranila IP-je za obisk, je za spremljanje ekipe, ki jo moram narediti vsake pol ure, da bom seznanjen z javnim IP-jem, saj se občasno spreminja in se ne morem povezati ssh .
Lep pozdrav hvala vnaprej Bog te blagoslovi.
Živijo, kako gre
Najprej morate povedati, da je spremenljivka IP (na primer) vsebina te datoteke, zato morate:
1. Prenesite datoteko
2. Oglejte si njegovo vsebino in od tam pridobite IP
3. Ta IP je spremenljivka
Na primer:
Tukaj prenesemo datoteko - »wget http://portal.com/directorio/archivo1.php -o datoteka.html
Nato spremenljivki dodelimo njeno vsebino: - »: $ {IP: =` cat file.html`}
.. ob predpostavki, da ima vsebina te datoteke samo IP, če ne, bi morali delati z grep, awk ali head.
Ko imate IP kot spremenljivko, je ostalo najpreprostejša stvar na svetu 🙂
Če želite, mi pišite na e-pošto (kzkggaara[at]desdelinux[dot]net) Z veseljem vam bom pomagal
Najlepša hvala kzkggaara zelo hvaležna.
Živjo, ne razumem veliko računalništva in ne vem, ali je ta objava povezana s težavo, ki jo imam.
Komentiram, če me preberete, čeprav je prispevek izpred enega leta:
Izkazalo se je, da sem na namizju ustvaril mapo za shranjevanje nekaterih videoposnetkov. No, te videoposnetke sem izbrisal, ker jih nisem več potreboval, zdaj pa mi ta mapa sporoča, da ne obstajajo (čeprav je vidna na mojem namizju).
- To je prva težava, ki jo imam:
Mape ne morem izbrisati.
- Druga težava in mislim, da je bolj pomembna:
V poskusu brisanja mape sem dal mapo FOTOGRAFIJE. Zdaj, ko odprem mapo, ki "ne obstaja", je prazna in FOTOGRAFIJ ni.
Kako lahko obnovim fotografije? V mapi »Pokaži skrite dokumente« sem dal možnost, mapa FOTOGRAFIJE pa se ne prikaže.
Upam, da lahko veste, kako je to rešeno.
Hvala.
Dva glavna uporabnika sta: root in your_user (natalia na primer). Oba imata osebne mape. your_user v / home in root v / (korenski imenik). Z desnim klikom na mapo si oglejte, komu pripada. Če je skrbnik datotek root z uporabo sudo ali gksu ali kdesu, odvisno od okolja, ki ga uporabljate, pojdite v korenski imenik -> root -> Desktop in verjetno boste našli fotografije in mapo lahko izbrisali. Nekateri distribucijski sistemi, ko niste lastnik datoteke ali imenika in nimate dovoljenj za dostop, vam povejo, da imenik / datoteka ne obstaja. Če ste lastnik in niste root, storite enako z upraviteljem datotek s sudo itd. In pojdite v korenski imenik -> / home -> personal_folder -> Desktop in preverite, ali so fotografije tam in ali lahko mapo izbrišete.
Če to ne deluje, boste morali videti druge možnosti na terminalu (konzoli).
Pozdravljeni, kako ste? Opravljam delo v bashu in bi rad vedel, kako preveriti, ali je na primer s tipkovnice vpisan imenik, na primer
#! / Bin / bash
preberite pot
#Enter ~ / Desktop
# Potem poskušam krmariti po tem imeniku
cd $ pot
# Dobil sem naslednje bash sporočilo: cd: ~ / Desktop: Datoteka ali imenik ne obstaja
Moje vprašanje je: Kaj lahko storim, da ga vnesem s tipkovnice in vzamem kot pot do imenika?
In kako naj vem, če obstaja skupina,
dobro Imam težavo v kanamu, ko pritisnem gumb cunaguaro, piše, da ni datoteke ali imenika, kot bi to rešili, ostalo pa ne odpre cunaguara, prosim hvala.
Kako naredim if v BASH, če ima ime datoteke presledke?
Na primer:
Aprilski podatki.xlsx
Vprašati, ali datoteka obstaja
Carlos, takole:
če [["$ spremenljivka" == Podatki \ mesec \ od \ April.xlsx]]; nato odmev 'ujemanje'; fi
Lahko tudi:
if [["$ variable" == 'Podatki za mesec april.xlsx']]; nato odmev "ujemanje"; fi
Druga možnost:
[["$ Variable" == 'Podatki za april.xlsx']] && echo 'se ujema' || echo 'se ne ujema'
V nekaterih temnih predelih interneta priporočajo uporabo [[]] namesto [] in če boste primerjali številke, potem: ((spremenljivka> = 3)) && echo 'spremenljivka je večja ali enaka 3' || spremenljivka echo 'je manjša od 3'
Zato za številke:
če ((število! = 4)); potem echo "$ {number} ni 4"; sicer odmev "$ {number} je 4"; fi
kako lahko naredite kodo za preverjanje, če ima imenik določeno besedilo, da ga lahko uredite.
primer:
če (text1)
delati nič
ostalo
spremenite text1 v text2
vprašanje, kako bi bilo preveriti vsakih 15 sekund, če datoteka obstaja ali ne, hvala.
Pozdravljeni,
to:
če je [-w / home / Komun / Logs / ti]; potem
Ugotovite, ali je datoteko mogoče zapisovati. Vendar temelji na uporabniških dovoljenjih. Ali je mogoče ugotoviti, ali ima skupina ali drugi dovoljenja?