Nem tettem fel semmit Bash, és amikor belépek a Python csodálatos világába, egy kicsit megfeledkeztem erről a másik barátomról, aki annyira segített nekem 🙂
Itt tettem valamit a Bash rajongóinak, amint a cím mondja ... Megmutatom, hogyan lehet ellenőrizni, hogy létezik-e fájl vagy mappa a rendszerben, csupán: if
Létrehozunk egy .sh fájlt, és végrehajtási engedélyeket adunk neki, ehhez elegendő a következő parancsot egy terminálba tenni:
touch test.sh && chmod + x test.sh
Ez létrehozta a fájlt (érintésteszt.sh), és végrehajtási engedélyeket is ad (chmod + x teszt.sh)
Akkor írjuk bele a következőket:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Mit csinál ez?
Egyszerű 😀
Az első sorban - » ha [-d / opt /];
Itt azt kérdezzük, hogy létezik-e az / opt / könyvtár? Igen könyvtár / mappa, mert a -d könyvtárat vagy mappát jelent.
Majd ha létezik, akkor kinyomtatjuk a terminálba «Igen, létezik.»(Ez a 2. és 3. sor)
Ellenkező esetben és / opt / NEM létezik, akkor kinyomtatjuk a «Nem, nem létezik»(4. és 5. sor)
Ezután az utolsó sorban (6. szám) bezárjuk az if-t és ennyi.
Hajtsa végre a tesztet, és megmutatja, hogy létezik / opt /.
Ha azt akarod, hogy mutassam meg neked a másik szöveget (azt, amely nem létezik), akkor változtasd meg / opt / bármely más mappához, amely nem létezik a rendszeredben, például:
Amint láthatja, a -d segít megtudni, hogy létezik-e a könyvtár, és ha a -d értéket -f-re változtatjuk, az a fájlok létezésének ellenőrzése (-d = könyvtár, -f = fájl / fájl)
Például:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Itt található a lehetőségek listája:
-d - »Ellenőrizze, hogy létezik-e bizonyos könyvtár
-f - »Ellenőrizze, hogy létezik-e egy bizonyos fájl
-w - »Ellenőrizze, hogy egy bizonyos fájl rendelkezik-e írási engedéllyel
-x - »Ellenőrizze, hogy egy bizonyos fájl rendelkezik-e végrehajtási engedélyekkel.
És hát nincs sokkal több hozzáfűzhető 🙂
Tudom, hogy ez nagyon hasznos és érdekes lesz azok számára, akik szeretnek programozni Bash-ban
Üdvözlet
Egy másik módszer anélkül, hogy… akkor ...
test -f /etc/hosts && elcomando
Vagy szintén
test ! -f /etc/hosts && echo "no se encontró el archivo"
Stb.
Jobb 😀
… O_O… Hugo vagy, Kubából származó Hugo? ... Windows8, WTF használatával !!!
Nos, igen, ismerkedem ezzel az operációs rendszerrel, és ha őszintének kell lennem, az egyetlen dolog, amit hasznosnak találtam, az a copy manager, különben személy szerint kártevőnek találom, főleg annak hibrid felülete és a metró alkalmazásai. Kevésbé tetszik, mint a Vista és a 7 (bár ezeknél valamivel hatékonyabb), ami nekem sem tetszett. Az egyetlen dolog, amire használom, az NFS13 és a Skyrim lejátszása, de ez az operációs rendszer annyi helyet foglal el, hogy törölnem kellett a Linux partíciómat [snif].
A nyugalom kedvéért azonban elmondom, hogy tegnapelőtt letöltöttem az Arch ISO januárt, és azt tervezem, hogy teszek egy kis tesztet x86-64-es verziójában, amint megkapom a repót ( megvan?). Most, hogy láttam, alapértelmezés szerint aláírt csomagokat használ, nagyobb önbizalmat ad a merüléshez.
És apám azt is elmondta, hogy küld nekem egy Sony Xperiát, amelyet ki akarok használni, hogy megtanuljak valamilyen programozást az Android számára, ami várakozás volt. Szóval nyugodj meg, még nem mentem az erő sötét oldalára, buahahahaha 😉
ember teszt
Persze.
Wenas! ..
Készíthetnénk ugyanazt .. ..de a könyvtárat paraméterként adjuk át ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
És így hívjuk:
./test.sh / opt /
Üdvözlet..
IF nem ciklus xD
Úgy illik hozzám, mint egy kesztyű egy forgatókönyvhöz, amit csinálok. Érvényes helyettesítő karakterek használata? Például, hogy megtudja, vannak-e .mp4 fájlok, futtasson rajtuk valamit.
ha [-f * .mp4];
...
Igen, teljesen érvényes ..
Még a paraméterek révén is. "* .Mp4"
Pl.
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Ha hívod: ./test.sh * .mp4
Ha talál .mp4 fájlokat, akkor törli őket ... ... de nem sorolja fel a fájlokat abban a könyvtárban ...
Köszönjük a visszajelzéseket és tippeket! 🙂
Hiányzott az f xD
rm -rf $ 1
Ez izgalmasabb!
Csodálatos !!!, minden nap jobban beleszeretek a Linuxba, a Windows a merevlemezem egyik sötét sarkába került, amelyet hamarosan kitörölnek, hogy utat engedjen a Linux fényének.
Kiváló! .. ..majd tedd meg a következő lépést .. és vedd ki ..
6 hónappal ezelőtt kb. Az összes gépemen csak GNU / Linux van, és nincs szükségem többre .. ..nem W $ .. vagy Bor .. ..és több mint boldog vagyok így .. 😉
És megfertőzöm a környezetemet .. mivel mindannyian az Archommal látnak, gyors, hatékony és boldog .. ..és Linuxot telepítenek .. .. igen! .. ..
Azt is ellenőrizheti, hogy vannak-e különféle kiterjesztések, használhat ilyesmit
#! / bin / bash
Directory = $ HOME / Letöltések
ha [$ Directory]; akkor
echo "Itt található a fájltípusok listája:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
a {} használatával több kiterjesztést adhat meg ebben az esetben, a "?" , egy helyettesítő karakter, amely lehetővé teszi, hogy "Bármely karaktert" vegyen fel.
Remélem, segít
Javaslom a find [könyvtár] [keresési_minta] –exec [parancs] {} \ parancsot
Nem működik, ezeket a fájlokat a könyvtárba tettem:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
keresés.sh
#! / bin / bash
PATH = / tmp / TESZT
cd $ ROUTE
ls -la | awk '{print »« $ 9}'
ha [[-f AB.TXT]]; akkor
echo »Adja meg az IF-t, ha van AB.TXT »
fi
ha [-f AB20160422.TXT]; akkor
echo "bemenet egy adott AB fájlhoz"
fi
amikor feltettem az [-f AB.TXT] hibát ad
amikor feltettem az [[-f AB.TXT]] nem ad hibát, de nem találja meg a fájlt
csak akkor működik, ha egy adott fájlt teszek fel, például:
ha [-f AB20160422.TXT]; akkor
Nem tudom működtetni helyettesítő karakterekkel * vagy?
#! / usr / bin / env bash
#.kódolás = utf-8.
FOLYTATÓK
EXIT_OK = 0
EXIT_BAD = 66
Merész = »\ 033 [1m»
NC = »\ 033 [0m»
PIROS = »\ 033 [31m»
ha [! "$ 1"];
akkor
echo "hiányzik egy paraméter"
lépjen ki a (z) $ EXIT_BAD menüből
fi
CD "$ 1"
fájlok = »ls -h1 $ 1»
fájlhoz a $ -ban ($ fájl); csináld
echo -e "itt bármit megtehetsz a $ BOLD $ fájl $ nc használatával"
csinált
kilépés $ EXIT_OK
@KZ, mesélj erről többet: «és ez azért van, mert belépek a Python csodálatos világába»!
HAHAHAHA nah ... apránként 🙂
Még mindig csak újonc vagyok a Pythonban, alig van időm órákat és órákat szánni rá, ezért lassú vagyok, igen, lassú, de biztos vagyok a tanulásban 😀
Nagyon köszönöm 😀 tegnap azon gondolkodtam, hogyan lehet ezt megtenni.
ez ncurses-szel nagyszerű 🙂
1 szóval ... KIVÁLÓ!
Hosszú ideig tökéletesítettem egy szkriptet az internetről történő letöltésekhez, de az volt a problémám, hogy az 1-es és újabb fájlokat kért le anélkül, hogy ellenőrizni tudta volna az 1ro létét.
Nagyon jó tuto.
Óriási hozzájárulás, itt Chiléből értékelik.
A LINUX minden nap kellemesen meglep,
Éljen a MIERDAAAA szabad szoftver.
szolgálni
ellenőrizze, hogy egy fájl könyvtárból származik-e
Ha ellenőrizni akarom, hogy létezik-e fájl a «/ tmp / Receivers» elérési útvonalon, hajtson végre bármilyen parancsot, hogy lenne az?
Nagyon hálás leszek
Üdvözlet
Kedves, és IF-vel meghatározni, hogy a fájl teljesen kitöltött-e ???. Ezt azért kérdezem, mert amikor kitölti a fájlt egy továbbításhoz, az akár az adatok felével is elviheti.
Üdvözlet és köszönet a válaszért.
Nos, szerintem adjon hozzá egy példát is, például "Ellenőrizze, hogy nincs-e" fájl "vagy" könyvtár ", például
hogy ellenőrizze, hogy NEM létezik-e, használjon például egy változót ->
Könyvtár
#! / bin / bash
Directory = »$ HOME / Tesztkönyvtár»
File = »$ HOME / Tesztfájl»
ha [! -d "$ Directory"]; akkor
echo "Nincs $ Directory"
echo "Létrehozás ->" $ Directory "
mkdir "$ Directory"
más
echo "A" Directory "könyvtár már létezik
fi
ha [! -d "$ File"]; akkor
echo "$ fájl nem létezik"
echo "Létrehozás ->" $ File "
érintse meg a "$ File" elemet
más
echo A "$ File" fájl már létezik
fi
amikor később elvégzi az mkdir-t, ellenőrizze, hogy a terminál képes-e létrehozni, mert megtörheti a golyókat, ha ez egy mappa root vagy system hhah
Üdvözlet KZKG ^ Gaara egy lekérdezés, ahogy én tenném a curl használatához. Szeretném tudni, hogyan csinálom a konzolból, hogy pingeljek egy URL-t, hogy megnézzem, elérhető-e például http://portal.com/directorio/archivo1.php Ahol a file1 tárolja a látogatás IP-címeit, egy csapat megfigyeléséhez kell fél óránként elkészítenem azt a PIN-kódot, hogy tisztában legyek a nyilvános IP-vel, mivel időnként változik, és nem tudok ssh-vel csatlakozni.
Üdvözlet előre is köszönöm Isten áldja meg.
Szia, hogy vagy,
Először azt kell mondania, hogy az IP változó (például) a fájl tartalma, ehhez meg kell:
1. Töltse le a fájlt
2. Nézze meg a tartalmát, és szerezze be onnan az IP-t
3. Ez az IP a változó
Például:
Itt letöltjük a fájlt - »wget http://portal.com/directorio/archivo1.php -o fájl.html
Ezután hozzárendeljük annak tartalmát egy változóhoz: - »: $ {IP: =` macskafájl.html`}
.. feltételezve, hogy a fájl tartalmának csak az IP-je van, ha nincs, akkor a grep-vel, az awk-val vagy a fejjel kell dolgoznia.
Ha változója van az IP-nek, a többi a világ legegyszerűbb dolga 🙂
Ha szeretnél, írj nekem emailben (kzkggaara[kukac]desdelinux[pont]net) Szívesen segítek
Nagyon köszönöm kzkggaara nagyon hálás.
Szia, nem sokat értek a számítástechnikához, és nem tudom, hogy ez a bejegyzés kapcsolódik-e a problémámhoz.
Kommentálok arra az esetre, ha elolvasnál, pedig a bejegyzés egy évvel ezelőtti:
Kiderült, hogy az asztalomon létrehoztam egy mappát néhány videó tárolására. Nos, töröltem azokat a videókat, mert már nincs szükségem rájuk, és most ez a mappa azt mondja nekem, hogy nem létezik (annak ellenére is, hogy az asztalomon látható).
- Ez az első problémám:
Nem tudom törölni a mappát.
- Második probléma, és fontosabbnak tartom:
A mappa törlésére egy PHOTOS mappát tettem. Most, amikor megnyitom a "nem létező" mappát, az üres és a FOTÓK nincsenek ott.
Hogyan tudom helyreállítani a fényképeket? Megadtam a lehetőséget a "Rejtett dokumentumok megjelenítése" mappában, de a PHOTOS mappa nem jelenik meg.
Remélem, tudhatja, hogyan oldják meg.
Köszönöm.
Két felhasználó van, akik a legfontosabbak: a root és a felhasználó_felhasználó (például natalia). Mindkettőjüknek vannak személyes mappái. a_felhasználó a / home-ban és a root a / -ben (gyökérkönyvtár). A jobb egérgombbal kattintson a mappára, és nézze meg, hogy ki tartozik. Ha ez a fájlkezelő root, a sudo, a gksu vagy a kdesu használatával, a használt környezettől függően menjen a gyökérkönyvtárba -> root -> Asztal, és valószínűleg megtalálja a fényképeket, és törölheti a mappát. Egyes terjesztések, ha Ön nem a fájl vagy könyvtár tulajdonosa, és nincs hozzáférési jogosultsága, azt mondja, hogy a könyvtár / fájl nem létezik. Ha te vagy a tulajdonos, és nem vagy root, akkor ugyanezt tedd a fájlkezelővel a sudo stb. Segítségével, és lépj a gyökérkönyvtárba -> / home -> personal_folder -> Desktop, és nézd meg, hogy vannak-e a fotók, és törölheted-e a mappát.
Ha ez nem működik, akkor a terminál (konzol) más lehetőségeit kell látnia.
Szia, hogy vagy? Bash-ban dolgozom, és szeretném tudni, hogyan lehet ellenőrizni, hogy van-e például egy könyvtár a billentyűzetről
#! / bin / bash
útvonal olvasása
#Enter ~ / Asztal
# Aztán megpróbálok navigálni abban a könyvtárban
cd $ elérési út
# A következő bash üzenetet kapom: cd: ~ / Desktop: A fájl vagy könyvtár nem létezik
A kérdésem az, hogy mit tehetek úgy, hogy beírjam a billentyűzetről, és könyvtárkönyvtárként vegyem?
És honnan tudhatom, hogy létezik-e csoport,
jó Van egy problémám a kanaimban, amikor megnyomom a cunaguaro gombot, azt mondja, hogy nincs fájl vagy könyvtár, mivel ez megoldaná ezt a problémát, és a többi nem nyitja meg a cunaguaro-t, kérem, köszönöm.
Hogyan csinálod a BASH-ban, ha a fájlnévnek van szóköz?
Például:
Április adatai.xlsx
Megkérdezni, hogy létezik-e a fájl
Carlos, így:
if [["$ változó" == Adatok \ április \ április \ xxx]]; majd visszhangozza a 'meccset'; fi
Ön is:
if [["$ variable" == 'Adatok április hónapra.xlsx']]; majd visszhangozza a 'meccset'; fi
Egy másik lehetőség:
[["$ Variable" == 'Április hónap adatai.xlsx']] && echo 'egyezik' || echo 'nem egyezik'
Az internet bizonyos sötét területein a [] helyett a [[]] használatát javasolják, és ha a számokat fogja összehasonlítani, akkor: ((változó> = 3)) && echo 'változó nagyobb vagy egyenlő 3' | | echo 'változó kisebb, mint 3'
Ezért a számok esetében:
if ((szám! = 4)); akkor a "$ {number} nem 4" visszhang; else echo "$ {number} is 4"; fi
hogyan készíthet kódot az érvényesítéshez, ha a könyvtárnak van egy konkrét szövege, hogy szerkeszthesse azt.
például:
if (text1)
ne csinálj semmit
más
módosítsa a text1 szöveget text2-re
Kérdés, hogy lenne az, hogy 15 másodpercenként ellenőrizzem, hogy létezik-e a fájl, vagy sem, köszönöm.
Helló,
ez:
if [-w / home / Komun / Logs / ti]; akkor
Tudja meg, hogy a fájl írható-e. De a felhasználói engedélyeken alapul. Meg lehet-e tenni annak kiderítésére, hogy a csoport vagy a többiek rendelkeznek-e engedélyekkel?