Nic z toho jsem nedal PraštitJe to tak, že když vstupuji do úžasného světa Pythonu, zapomněl jsem trochu na tohoto dalšího přítele, který mi tolik pomohl 🙂
Zde jsem dal něco nadšencům Bash, jak název napovídá ... Ukážu vám, jak zkontrolovat, zda v systému existuje soubor nebo složka, pouze pomocí: if
Chystáme se vytvořit soubor .sh a dát mu oprávnění ke spuštění, stačí do terminálu vložit následující příkaz:
klepněte na test.sh && chmod + x test.sh
To, co se stalo, je vytvoření souboru (dotykový test.sh) a také vám udělit oprávnění ke spuštění (chmod + x test.sh)
Pojďme do něj napsat následující:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Co to dělá?
Jednoduché 😀
V prvním řádku - » pokud [-d / opt /];
Zde se ptáme, existuje adresář / opt /? Ano adresář / složka, protože -d znamená adresář nebo složku.
Pak, pokud existuje, vytiskneme v terminálu «Ano, existuje.»(Toto jsou řádky 2 a 3)
Jinak / opt / neexistuje, potom vytiskneme «Ne, neexistuje»(Řádky 4 a 5)
Pak v posledním řádku (číslo 6) zavřeme if a je to.
Proveďte test, který vám ukáže, že / opt / existuje.
Pokud chcete, abych vám ukázal další text (ten, který neexistuje), změňte / opt / pro jakoukoli jinou složku, která ve vašem systému neexistuje, například: / asd /
Jak vidíte, -d nám pomáhá zjistit, zda adresář existuje, pokud nyní změníme -d na -f, zkontrolujeme existenci souborů (-d = adresář, -f = soubor / soubor)
Například:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Zde je seznam možností:
-d - »Zkontrolujte, zda existuje určitý adresář
-f - »Zkontrolujte, zda určitý soubor existuje
-w - »Zkontrolujte, zda má určitý soubor oprávnění k zápisu
-x - »Zkontrolujte, zda má určitý soubor oprávnění ke spuštění.
A není toho moc k přidání 🙂
Vím, že to bude velmi užitečné a zajímavé pro ty, kteří rádi programují v Bash 😉
pozdravy
Další způsob, jak to udělat, pokud ... pak.. jinak:
test -f /etc/hosts && elcomando
Nebo také
test ! -f /etc/hosts && echo "no se encontró el archivo"
Atd.
Správně 😀
… O_O… Jsi Hugo, Hugo z Kuby? … Pomocí Windows8, WTF !!!
Ano, seznamuji se s tímto operačním systémem, a pokud musím být upřímný, jediná věc, kterou jsem považoval za užitečnou, je správce kopií, jinak mi osobně připadá bolest, zejména jeho hybridní rozhraní a aplikace metra. Líbí se mi méně než Vista a 7 (i když o něco efektivnější než tyto), což se mi také nelíbilo. Vše, co používám, je hrát NFS13 a Skyrim, ale tento OS zabírá tolik místa, že jsem musel odstranit svůj linuxový oddíl [snif].
Pro váš klid však zmíním, že jsem si předevčírem stáhl Arch ISO na leden a plánuji mu dát ochutnat jeho verzi x86-64, jakmile dostanu repo (budete ho mít ?). Nyní, když jsem viděl, že ve výchozím nastavení používá podepsané balíčky, mi dává větší jistotu při potápění.
A můj otec mi také řekl, že mi pošle Sony Xperia, kterou se chci naučit programovat pro Android, což bylo nevyřízené přání. Takže se uklidněte, ještě jsem nešel na temnou stránku síly, buahahahaha 😉
mužský test
Jistě.
Wenas! ..
Mohli bychom vytvořit stejný .. .. ale adresář je předán jako parametr ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
A říkáme tomu jako:
./test.sh / opt /
Pozdrav..
IF není cyklus xD
Hodí se mi to jako rukavice pro scénář, který dělám. Je platné použití zástupných znaků? Například zjistit, zda existují soubory .mp4, pak na ně něco spustit.
pokud [-f * .mp4];
...
Ano, je to naprosto platné ..
I přes parametry .. „* .mp4“
Např
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Pokud tomu říkáte: ./test.sh * .mp4
Pokud najde soubory .mp4, odstraní je ... ... ale neuvádí seznam souborů v tomto adresáři ...
Děkujeme za zpětnou vazbu a tipy! 🙂
Chybělo vám f xD
rm -rf $ 1
To je více vzrušující!
Skvělé !!!, Každý den, co se více zamilovávám do Linuxu, byl Windows odsunut do nějakého temného koutku mého pevného disku, který bude brzy vymazán, aby ustoupil světlu Linuxu.
Výborně! .. ..pak udělejte další krok .. a dostat se ven ..
Před 6 měsíci Na všech svých strojích mám pouze GNU / Linux a nepotřebuji víc .. .. ne W $ .. nebo víno .. ..a jsem tak rád, že .. 😉
A infikuji své okolí .. protože mě každý vidí se svým Archem, rychlý, efektivní a šťastný .. ..a žádají mě, abych nainstaloval Linux .... jo! .. 😀
Můžete také zkontrolovat, zda neobsahují různá rozšíření, můžete použít něco jako
#! / bin / bash
Adresář = $ HOME / Stahování
if [$ Directory]; pak
echo "Zde je seznam typů souborů:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
použití {} umožňuje v tomto případě zadat více přípon, použití "?" , je zástupný znak, který vám umožňuje vzít si „Libovolný znak“.
Doufám, že se naučíte
Doporučuji příkaz find [adresář] [search_pattern] –exec [příkaz] {} \
To nefunguje, vložil jsem tyto soubory do adresáře:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / bin / bash
PATH = / tmp / TEST
cd $ ROUTE
ls -la | awk '{tisk »« $ 9}'
pokud [[-f AB.TXT]]; pak
echo »Zadejte IF, pokud existuje AB.TXT »
fi
pokud [-f AB20160422.TXT]; pak
echo "vstup pro konkrétní soubor AB"
fi
když jsem dal [-f AB.TXT] dává chybu
když jsem dal [[-f AB.TXT]] nedává chybu, ale nemůže najít soubor
funguje to pouze tehdy, když vložím konkrétní soubor, například:
pokud [-f AB20160422.TXT]; pak
Nemohu to dostat do práce se zástupnými znaky * nebo?
#! / usr / bin / env bash
#.kódování = utf-8.
OBSAHUJÍCÍ
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1 m»
NC = »\ 033 [0 m»
ČERVENÉ = »\ 033 [31 m»
pokud [! „$ 1“];
pak
echo "chybí parametr"
opusťte $ EXIT_BAD
fi
cd "$ 1"
soubory = »ls -h1 $ 1»
pro soubor v $ ($ soubory); dělat
echo -e "se souborem $ BOLD $ $ nc můžete dělat cokoli"
hotový
opusťte $ EXIT_OK
@KZ, řekněte o tom více: „A to proto, že vstupuji do nádherného světa Pythonu“!
HAHAHAHA nah ... kousek po kousku 🙂
Jsem v Pythonu stále jen nováček, stěží mu mám čas věnovat hodiny a hodiny, takže jsem pomalý ano, pomalý ale jistý ve svém učení
Moc děkuji 😀 právě včera jsem přemýšlel, jak to udělat.
to s ncurses je skvělé 🙂
jedním slovem ... VÝBORNÁ!
Dlouho jsem zdokonaloval skript pro stahování z internetu, ale narazil jsem na problém, že stáhl soubory, které požadoval 1 a znovu, aniž by mohl ověřit existenci 1ro.
Velmi dobrá tato.
Obrovský příspěvek, zde z Chile se cení.
Každý den mě více LINUX příjemně překvapuje,
Ať žije svobodný software MIERDAAAA.
sloužit pro
zkontrolujte, zda je soubor z adresáře
Pokud chci zkontrolovat existenci jakéhokoli souboru v cestě «/ tmp / receivers», provést libovolný příkaz, jak by to bylo?
Budu velmi vděčný
pozdravy
Vážení, a podle IF zjistit, zda je soubor plně naplněn ???. Ptám se na to, protože když vyplňujete soubor pro přenos, může to trvat i s polovinou dat.
Zdravím a děkuji za vaši odpověď.
Myslím, že byste také měli přidat příklad, například „Zkontrolovat, zda neexistuje žádný„ soubor “nebo„ adresář “, například
zkontrolovat, zda NENÍ, například použít proměnnou->
Adresář
#! / bin / bash
Adresář = »$ HOME / Testovací adresář»
Soubor = »$ HOME / Testovací soubor»
pokud [! -d "$ Directory"]; pak
echo "Neexistuje žádný $ Directory"
echo "Vytváření ->" $ Directory "
mkdir "$ Directory"
jiný
echo "Adresář" $ Directory "již existuje
fi
pokud [! -d "$ Soubor"]; pak
echo "Neexistuje žádný $ soubor"
echo "Vytváření ->" $ Soubor "
klepněte na „$ Soubor“
jiný
echo "Soubor" $ Soubor "již existuje
fi
když provedete mkdir, zkontrolujte později, zda jej terminál mohl vytvořit, protože může rozbít koule, pokud je to složka jako root nebo systém hhah
Zdravím KZKG ^ Gaara dotaz, jak bych udělal použít curl. Chtěl bych vědět, jak to dělám z konzoly na ping na adresu URL, abych zjistil, zda je například k dispozici http://portal.com/directorio/archivo1.php Tam, kde file1 bude ukládat IP adresy návštěvy, je to pro monitorování týmu, který musím každou půlhodinu udělat tento pin, abych si byl vědom veřejné IP, protože se čas od času mění a nemohu se připojit pomocí ssh.
Zdravím předem děkuji Bohu.
Dobrý den,
Nejprve musíte říci, že proměnná IP (například) je obsahem tohoto souboru, musíte tedy:
1. Stáhněte soubor
2. Zobrazte jeho obsah a odtud získejte IP
3. Tato IP je proměnná
Například:
Zde stáhneme soubor - »wget http://portal.com/directorio/archivo1.php -o soubor.html
Poté přiřadíme jeho obsah k proměnné: - »: $ {IP: =` cat file.html`}
.. za předpokladu, že obsah tohoto souboru má pouze IP, pokud ne, budete muset pracovat s grep, awk nebo head.
Jakmile již máte IP jako proměnnou, zbytek je nejjednodušší věc na světě 🙂
Pokud chcete, napište mi na email (kzkggaara[at]desdelinux[dot]net) Rád vám pomůžu
Děkuji moc kzkggaara velmi vděčný.
Ahoj, moc nerozumím výpočetní technice a nevím, jestli tento příspěvek souvisí s problémem, který mám.
Komentuji pro případ, že byste mě četli, přestože příspěvek je před rokem:
Ukazuje se, že jsem vytvořil složku na ploše pro uložení některých videí. No, odstranil jsem tato videa, protože jsem je již nepotřeboval a nyní mi tato složka říká, že neexistuje (i když je viditelná na mé ploše).
- To je první problém, který mám:
Složku nemohu smazat.
- Druhý problém a myslím, že důležitější:
Při pokusu o smazání složky jsem vložil složku FOTKY. Nyní, když otevřu složku, která „neexistuje“, je prázdná a FOTKY tam nejsou.
Jak mohu obnovit fotografie? Dal jsem možnost ve složce „Zobrazit skryté dokumenty“, ale složka FOTKY se nezobrazí.
Doufám, že víte, jak je to vyřešeno.
Děkuju.
Existují dva uživatelé, kteří jsou hlavními: root a your_user (například natalia). Oba mají osobní složky. váš_uživatel v / home a root v / (kořenový adresář). Kliknutím pravým tlačítkem na složku zobrazíte, komu patří. Pokud je to root s vaším správcem souborů pomocí sudo nebo gksu nebo kdesu v závislosti na prostředí, které používáte, přejděte do kořenového adresáře -> root -> Desktop a pravděpodobně najdete fotografie a můžete složku smazat. Některá distribuce, pokud nejste vlastníkem souboru nebo adresáře a nemáte přístupová oprávnění, vám říkají, že adresář / soubor neexistuje. Pokud jste vlastníkem a nejste root, udělejte totéž se správcem souborů pomocí sudo atd. A přejděte do kořenového adresáře -> / home -> personal_folder -> Desktop a zkontrolujte, zda tam jsou fotografie a zda je možné odstranit složka.
Pokud to nefunguje, budete muset vidět další možnosti z terminálu (konzoly).
Ahoj, jak se máš? Dělám práci v bash a chtěl bych vědět, jak ověřit, zda je například zadán adresář z klávesnice
#! / bin / bash
přečíst trasu
# Enter ~ / Desktop
#Pak se pokusím tento adresář navigovat
cesta cd $
# Zobrazuje se následující bash zpráva: cd: ~ / Desktop: Soubor nebo adresář neexistuje
Moje otázka je, co mohu udělat, abych to zadal z klávesnice a vzal to jako cestu k adresáři?
A jak mohu vědět, jestli skupina existuje,
dobrý Mám problém v mém canaima, když stisknu tlačítko cunaguaro, říká, že neexistuje žádný soubor nebo adresář, jak by to bylo k vyřešení tohoto problému a zbytek neotevře cunaguaro, děkuji.
Jak uděláte if v BASH, pokud má název souboru mezery?
Například:
Duben data.xlsx
Chcete-li se zeptat, zda soubor existuje
Carlos, takto:
if [["$ variable" == Data \ month \ of \ April.xlsx]]; pak ozvěna 'match'; fi
Můžete také:
if [["$ variable" == 'Data za měsíc April.xlsx']]; pak ozvěna 'match'; fi
Další možností:
[["" Proměnná $ "== 'Údaje za April.xlsx']] && echo 'shoduje se' || echo „neodpovídá“
V některých tmavých oblastech internetu doporučují místo [] použít [[]], a pokud hodláte porovnávat čísla, pak: ((proměnná> = 3)) && echo 'proměnná je větší nebo rovna 3' | | proměnná echo 'je menší než 3'
Proto pro čísla:
if ((číslo! = 4)); potom echo "$ {number} není 4"; else echo "$ {number} je 4"; fi
jak můžete vytvořit kód pro ověření, zda má adresář konkrétní text, abyste jej mohli upravit.
příklad:
if (text1)
nedělat nic
jiný
změnit text1 na text2
otázka, jaké by to bylo kontrolovat každých 15 sekund, zda soubor existuje nebo ne, děkuji.
Dobrý den,
tento:
if [-w / home / Komun / Logs / ti]; pak
Zjistěte, zda je soubor zapisovatelný. Je však založen na uživatelských oprávněních. Je možné zjistit, zda má skupina nebo ostatní oprávnění?