Ja som nič z toho nedával tresnúť, a to je to, že keď vstupujem do úžasného sveta Pythonu, trochu som zabudol na tohto iného priateľa, ktorý mi tak veľmi pomohol
Tu som dal niečo pre nadšencov Bash, ako hovorí nadpis ... Ukážem vám, ako skontrolovať, či v systéme existuje súbor alebo priečinok, a to iba pomocou: if
Chystáme sa vytvoriť súbor .sh a udeliť mu oprávnenie na vykonávanie, stačí do terminálu vložiť nasledujúci príkaz:
dotykový test.sh && chmod + x test.sh
To, čo urobil, je vytvoriť súbor (dotykový test.sh) a tiež vám dá povolenie na spustenie (chmod + x test.sh)
Potom doň napíšme toto:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Čo to robí?
Jednoduché 😀
V prvom riadku - » ak [-d / opt /];
Tu sa pýtame, existuje adresár / opt /? Áno adresár / priečinok, pretože -d znamená adresár alebo priečinok.
Potom, ak existuje, vytlačíme v termináli «Áno, existuje.»(Toto sú riadky 2 a 3)
V opačnom prípade / opt / neexistuje, potom vytlačíme «Nie, neexistuje»(Riadky 4 a 5)
Potom v poslednom riadku (číslo 6) zatvoríme if a je to.
Vykonajte test, ktorý vám ukáže, že / opt / existuje.
Ak chcete, aby som vám ukázal ďalší text (ten, ktorý neexistuje), zmeňte / opt / na akýkoľvek iný priečinok, ktorý vo vašom systéme neexistuje, napríklad: / asd /
Ako vidíte, -d nám pomáha zistiť, či adresár existuje, teraz, keď zmeníme -d na -f, je potrebné skontrolovať existenciu súborov (-d = adresár, -f = súbor / súbor)
Napríklad:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Tu je zoznam možností:
-d - »Skontrolujte, či existuje určitý adresár
-f - »Skontrolujte, či existuje určitý súbor
-w - »Skontrolujte, či má určitý súbor oprávnenie na zápis
-x - »Skontrolujte, či má určitý súbor oprávnenie na vykonávanie.
A tiež nie je veľa čo dodať 🙂
Viem, že to bude veľmi užitočné a zaujímavé pre tých, ktorí radi programujú v Bashi 😉
pozdravy
Ďalším spôsobom, ako to urobiť, ak ... potom..iné:
test -f /etc/hosts && elcomando
Alebo tiež
test ! -f /etc/hosts && echo "no se encontró el archivo"
Atď.
Správne 😀
... O_O ... Ste Hugo, Hugo z Kuby? ... pomocou Windows8, WTF !!!
Áno, oboznámil som sa s týmto OS a ak mám byť úprimný, jediná vec, ktorú som považoval za užitočnú, je správca kopírovania, inak mi osobne pripadá škodca, najmä jeho hybridné rozhranie a aplikácie metra. Páči sa mi menej ako Vista a 7 (aj keď o niečo efektívnejšie ako tieto), čo sa mi tiež nepáčilo. Všetko, čo to používam, je hrať NFS13 a Skyrim, ale tento OS zaberá toľko miesta, že som musel vymazať svoj linuxový oddiel [snif].
Pre vašu duševnú pohodu vám však môžem povedať, že predvčerom som si stiahol Arch ISO na január a plánujem mu dať ochutnať jeho verziu x86-64, hneď ako dostanem repo (budete mať že? Teraz, keď som videl, že štandardne používa podpísané balíčky, mi dáva väčšiu istotu sa ponoriť.
A môj otec mi tiež povedal, že mi pošle Sony Xperia, ktorú chcem využiť na to, aby som sa naučil programovať pre Android, čo bolo čakajúcim želaním. Takže sa upokojte, ešte som nešiel na temnú stránku sily, buahahahaha 😉
mužský test
Iste.
Wenas! ..
Mohli by sme vytvoriť ten istý .. .. ale adresár sa odovzdá ako parameter ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
A hovoríme tomu ako:
./test.sh / opt /
Pozdravujem ..
IF nie je cyklus xD
Hodí sa mi to ako rukavice pre scenár, ktorý robím. Je platné používať zástupné znaky? Napríklad vedieť, či existuje súbor .mp4, potom na nich niečo spustiť.
ak [-f * .mp4];
...
Áno, je to úplne platné ..
Aj cez parametre .. „* .mp4“
Napr
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Ak to nazvete: ./test.sh * .mp4
Ak nájde súbory .mp4, vymaže ich ... ... ale nezobrazí zoznam súborov v tomto adresári ...
Ďakujeme za spätnú väzbu a tipy! 🙂
Zmeškali ste f xD
rm -rf $ 1
To je vzrušujúcejšie!
Úžasné !!!, Každý deň, keď sa viac zamilovávam do systému Linux, bol systém Windows zaradený do nejakého temného kúta môjho pevného disku, ktorý sa čoskoro vymaže, aby ustúpil svetlu Linuxu.
Vynikajúce! .. .. potom urobte ďalší krok .. a choďte von ..
Pred 6 mesiacmi cca. Na všetkých svojich počítačoch mám iba GNU / Linux a nepotrebujem viac .. .. nie W $ .. alebo víno .. ..a som z toho viac ako šťastný ..
A infikujem svoje okolie .. keďže ma každý vidí so svojím Archom, rýchly, efektívny a šťastný .. ..a požiadajú ma o inštaláciu Linuxu .... jo! .. 😀
Tiež im môžete skontrolovať rôzne prípony, môžete použiť niečo ako
#! / Bin / bash
Adresár = $ HOME / Súbory na stiahnutie
if [$ Directory]; potom
echo "Tu je zoznam typov súborov:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
použitie {} vám umožňuje určiť viac rozšírení, v takom prípade použitie „?“ , je zástupný znak, ktorý umožňuje vziať „ľubovoľný znak“.
Dúfam, že vám to pomôže
Odporúčam príkaz find [adresár] [search_pattern] –exec [príkaz] {} \
To nefunguje, vložil som tieto súbory do adresára:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
hľadať.sh
#! / Bin / bash
CESTA = / tmp / TEST
cd $ TRASA
ls -la | awk '{print »« $ 9}'
ak [[-f AB.TXT]]; potom
echo »Zadajte IF, ak existuje AB.TXT "
fi
ak [-f AB20160422.TXT]; potom
echo "vstup pre konkrétny súbor AB"
fi
keď dám [-f AB.TXT] dáva chybu
keď som dal [[-f AB.TXT]] nedáva chybu, ale nemôže nájsť súbor
funguje to iba vtedy, keď vložím konkrétny súbor, napríklad:
ak [-f AB20160422.TXT]; potom
Nemôžem to dostať do práce so zástupnými znakmi * alebo?
#! / usr / bin / env bash
#.kódovanie = utf-8.
OBSAHUJÚCI
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1 m»
NC = »\ 033 [0 m»
ČERVENÉ = »\ 033 [31 m»
ak [! „$ 1“];
potom
echo "chýba parameter"
výstup $ EXIT_BAD
fi
cd „$ 1“
súbory = »ls -h1 $ 1»
pre súbor v $ ($ súbory); robiť
echo -e "so súborom $ BOLD $ $ nc môžete robiť čokoľvek"
vykonané
opustiť $ EXIT_OK
@KZ, povedzte o tom viac: „A to preto, že vstupujem do úžasného sveta Pythonu“!
HAHAHAHA nah ... kúsok po kúsku 🙂
V Pythone som stále iba nováčik, ťažko mu mám čas venovať hodiny a hodiny, takže som pomalý áno, pomalý, ale istý v učení 😀
Ďakujem pekne 😀 práve včera som uvažoval, ako na to.
toto s ncurses je super 🙂
jedným slovom ... VÝBORNÁ!
Dlho som zdokonaľoval skript na stiahnutie z Internetu, ale mal som problém, že stiahne súbory, ktoré som požadoval 1 a znova bez toho, aby som mohol overiť existenciu 1ro.
Veľmi dobrá tato.
Obrovský príspevok, tu z Čile sa cení.
Každý deň ma LINUX príjemne prekvapuje,
Nech žije slobodný softvér MIERDAAAA.
slúžiť pre
skontrolujte, či je súbor z adresára
Ak chcem skontrolovať existenciu ľubovoľného súboru v ceste «/ tmp / receivers», vykonajte ľubovoľný príkaz, aký by bol?
Budem velmi vdacna
pozdravy
Vážený / -á, a podľa IF určiť, či je súbor úplne vyplnený ???. Pýtam sa na to, pretože keď vypĺňate súbor na prenos, môže to trvať aj s polovičnými údajmi.
Zdravím a ďakujem za odpoveď.
Myslím, že by ste mali pridať aj príklad, napríklad „Skontrolujte, či neexistuje napríklad„ súbor “alebo„ adresár “.
skontrolovať, či NIE existuje, napríklad použiť premennú->
Adresár
#! / Bin / bash
Adresár = »$ HOME / Testovací adresár»
Súbor = »$ HOME / Testovací súbor»
ak [! -d "$ Adresár"]; potom
echo "Neexistuje žiadny $ Directory"
echo "Vytváranie ->" $ Adresár "
mkdir "$ Directory"
inak
echo "Adresár" $ Directory "už existuje
fi
ak [! -d "$ Súbor"]; potom
echo "Súbor $ neexistuje"
echo "Vytváranie ->" $ Súbor "
dotknite sa „$ súboru“
inak
echo "Súbor" $ Súbor "už existuje
fi
keď urobíte mkdir, skontrolujte neskôr, či ho terminál dokáže vytvoriť, pretože môže rozbiť gule, ak ide o priečinok ako root alebo systém hhah
Zdravím KZKG ^ Gaara dotaz, ako by som urobil, keby som použil curl. Chcel by som vedieť, ako postupujem od konzoly po ping adresy URL, aby som zistil, či je napríklad dostupná http://portal.com/directorio/archivo1.php kde file1 bude ukladať ip návštev je na sledovanie tímu, ktorý potrebujem urobiť tento pin každú pol hodinu, aby som si bol vedomý verejného ip, pretože sa to čas od času mení a nemôžem sa pripojiť pomocou ssh .
Pozdravujem vás vopred, Boh vám žehnaj.
Ahoj, ako to ide
Najprv musíte povedať, že napríklad premenná IP je obsahom tohto súboru, musíte:
1. Stiahnite súbor
2. Prezrite si jeho obsah a odtiaľ získajte adresu IP
3. Táto IP je premenná
Napríklad:
Tu stiahneme súbor - »wget http://portal.com/directorio/archivo1.php -o súbor.html
Potom priradíme premennej jej obsah: - »: $ {IP: =` mačací súbor.html`}
.. za predpokladu, že obsah tohto súboru má iba IP, ak nie, museli by ste pracovať s grep, awk alebo head.
Keď už máte IP ako premennú, zvyšok je najjednoduchšia vec na svete 🙂
Si quieres me escribes al email (kzkggaara[at]desdelinux[dot]net) que con gusto te ayudo
Ďakujem pekne kzkggaara veľmi vďačný.
Dobrý deň, veľmi nerozumiem výpočtovej technike a neviem, či táto položka súvisí s problémom, ktorý mám.
Komentujem pre prípad, že ma budete čítať, aj keď je príspevok spred roka:
Ukazuje sa, že som na pracovnej ploche vytvoril priečinok na ukladanie niektorých videí. Tieto videá som odstránil, pretože som ich už nepotreboval a teraz mi tento priečinok hovorí, že neexistuje (aj keď je viditeľný na pracovnej ploche).
- Toto je prvý problém, ktorý mám:
Priečinok nemôžem odstrániť.
- Druhý problém a myslím si, že dôležitejší:
Pri pokuse o odstránenie priečinka som vložil priečinok FOTKY. Teraz, keď otvorím priečinok, ktorý „neexistuje“, je prázdny a FOTKY tu nie sú.
Ako môžem obnoviť fotografie? Dal som možnosť v priečinku „Zobraziť skryté dokumenty“, ale priečinok FOTKY sa nezobrazí.
Dúfam, že budete vedieť, ako je to vyriešené.
Ďakujem.
Existujú dvaja používatelia, ktorí sú hlavnými: root a your_user (napríklad natalia). Obaja majú osobné priečinky. your_user in / home a root in / (root directory). Kliknutím pravým tlačidlom myši na priečinok zobrazíte, komu patrí. Ak je rootom vášho správcu súborov pomocou sudo alebo gksu alebo kdesu v závislosti od použitého prostredia, choďte do koreňového adresára -> root -> Desktop a pravdepodobne nájdete fotografie a priečinok môžete odstrániť. Niektoré distribúcie, keď nie ste vlastníkom súboru alebo adresára a nemáte prístupové oprávnenia, vám hovoria, že adresár / súbor neexistujú. Ak ste vlastníkom a nie ste root, urobte to isté so správcom súborov pomocou sudo atď. Prejdite do koreňového adresára -> / home -> personal_folder -> Desktop a skontrolujte, či tam sú fotografie a či môžete priečinok odstrániť.
Ak to nefunguje, budete si musieť z terminálu (konzoly) pozrieť ďalšie možnosti.
Ahojte, ako sa máte? Robím prácu v bashe a chcel by som vedieť, ako overiť, či je napríklad zadaný adresár z klávesnice
#! / Bin / bash
prečítať trasu
#Enter ~ / Desktop
# Potom sa pokúsim navigovať v tomto adresári
cesta cd $
# Dostanem nasledujúcu správu typu bash: cd: ~ / Desktop: Súbor alebo adresár neexistuje
Moja otázka je, čo môžem urobiť, aby som to zadal z klávesnice a zobral to ako cestu k adresáru?
A ako môžem zistiť, či existuje skupina,
dobrý, mám problém v mojej canaime, keď stlačím tlačidlo cunaguaro, hovorí, že neexistuje žiadny súbor alebo adresár, ako by to bolo pri riešení tohto problému, a zvyšok neotvára cunaguaro, ďakujem
Ako urobíte if v BASH, ak má názov súboru medzery?
Napríklad:
Apríl data.xlsx
Spýtať sa, či súbor existuje
Carlos, takto:
if [["$ variable" == Údaje \ mesiac \ z \ April.xlsx]]; potom zopakujte „match“; fi
Môžete tiež:
if [["$ variable" == 'Údaje za mesiac April.xlsx']]; potom zopakujte „match“; fi
Ďalšia možnosť:
[["" Variabilita $ "== 'Údaje za apríl.xlsx']] && echo 'zápasy' || ozvena „sa nezhoduje“
V niektorých tmavých oblastiach internetu odporúčajú namiesto [] použiť [[]], a ak sa chystáte porovnávať čísla, potom: ((premenná> = 3)) && echo 'premenná je väčšia alebo rovná 3' | | premenná echo 'je menšia ako 3'
Preto pre čísla:
if ((číslo! = 4)); potom echo "$ {number} nie je 4"; else echo "$ {number} je 4"; fi
ako môžete vytvoriť kód na overenie, či má adresár konkrétny text, aby ste ho mohli upravovať.
príklad:
if (text1)
nerob nič
inak
zmeniť text1 na text2
Otázka, aké by to bolo pre mňa každých 15 sekúnd skontrolovať, či súbor existuje alebo nie, ďakujem.
Dobrý deň,
toto:
if [-w / home / Komun / Logs / ti]; potom
Zistite, či je do súboru zapisovateľný. Je to však založené na oprávneniach používateľov. Dá sa to zistiť, či má skupina alebo ostatní oprávnenie?