Aš nieko nedėjau Bash, ir tai, kad įžengęs į nuostabų „Python“ pasaulį, šiek tiek pamiršau apie šį kitą draugą, kuris man taip padėjo
Čia aš įdėjau kažką „Bash“ entuziastams, kaip sako pavadinimas ... Aš jums parodysiu, kaip patikrinti, ar sistemoje yra failas ar aplankas, tiesiog naudodamas: if
Mes sukursime .sh failą ir suteiksime jam vykdymo teises, tam pakanka įvesti šią komandą į terminalą:
palieskite test.sh && chmod + x test.sh
Tai jis sukūrė failą (prisilietimo testas.sh), taip pat suteiksite vykdymo teises (chmod + x testas.sh)
Tada parašykime:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Ką tai daro?
Paprasta 😀
Pirmoje eilutėje - » jei [-d / opt /];
Čia mes klausiame, ar egzistuoja / opt / katalogas? Taip katalogas / aplankas, nes -d reiškia katalogą ar aplanką.
Tada, jei jis egzistuoja, atspausdinsime terminale «Taip, jis egzistuoja.»(Tai 2 ir 3 eilutės)
Kitu atveju ir / opt / Nėra, tada atspausdinsime «Ne, jo nėra»(4 ir 5 eilutės)
Tada paskutinėje eilutėje (6 numeris) uždarome jei ir viskas.
Atlikite testą, jis parodys, kad / opt / egzistuoja.
Jei norite, kad parodyčiau kitą tekstą (neegzistuojantį), pakeiskite / opt / bet kuriam kitam aplankui, kurio jūsų sistemoje nėra, pavyzdžiui: / asd /
Kaip matote, -d padeda mums sužinoti, ar katalogas yra, dabar, jei pakeisime -d į -f, patikrinkite, ar yra failų (-d = katalogas, -f = failas / failas)
Pavyzdžiui:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Čia pateikiamas parinkčių sąrašas:
-d - »Patikrinkite, ar yra tam tikras katalogas
-f - »Patikrinkite, ar yra tam tikras failas
-w - »Patikrinkite, ar tam tikras failas turi rašymo teises
-x - »Patikrinkite, ar tam tikras failas turi vykdymo teises.
Na ir nėra ką daugiau pridėti 🙂
Žinau, kad tai bus labai naudinga ir įdomu tiems, kurie mėgsta programuoti „Bash“ 😉
saludos
Kitas būdas tai padaryti be… jei… tada:
test -f /etc/hosts && elcomando
Arba taip pat
test ! -f /etc/hosts && echo "no se encontró el archivo"
Ir kt.
Teisingai 😀
… O_O ... Ar tu Hugo, Hugo iš Kubos? ... Naudojant Windows8, WTF !!!
Na taip, aš susipažinau su šia OS ir, jei turiu būti atviras, vienintelis dalykas, kurį radau naudingas, yra kopijų tvarkytuvė, kitaip man asmeniškai tai skauda, ypač hibridinė sąsaja ir metro programos. Man jis patinka mažiau nei „Vista“ ir „7“ (nors ir šiek tiek efektyvesni už šiuos), kurie man irgi nepatiko. Viskas, ką aš naudoju, yra žaisti NFS13 ir „Skyrim“, tačiau ši OS užima tiek vietos, kad turėjau ištrinti savo „Linux“ skaidinį [snif].
Tačiau jūsų ramybės dėlei pasakysiu, kad užvakar parsisiunčiau „Arch ISO“ sausio mėnesiui ir planuoju atlikti nedidelį bandymą x86-64 versijoje, kai tik gausiu repo (ar turėsite?). Dabar, kai pamačiau, kad jis pagal nutylėjimą naudoja pasirašytus paketus, tai suteikia daugiau pasitikėjimo pasinerti.
Tėvas taip pat man pasakė, kad jis atsiųs man „Sony Xperia“, kuria noriu pasinaudoti, kad išmokčiau programuoti „Android“, o tai buvo laukiantis noras. Taigi nusiramink, aš dar neišėjau į tamsiąją jėgos pusę, buahahahaha 😉
žmogaus testas
Tikrai.
Wenas! ..
Galėtume padaryti tą patį .. .. bet katalogas perduodamas kaip parametras ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Mes tai vadiname:
./test.sh / opt /
Sveikinimai ..
IF nėra ciklas xD
Tai man tinka kaip pirštinė scenarijui, kurį darau. Ar teisinga naudoti pakaitos simbolius? Pavyzdžiui, norėdami sužinoti, ar yra .mp4, paleiskite juos.
jei [-f * .mp4];
...
Taip, tai visiškai galioja ..
Net per parametrus .. "* .mp4"
Pavyzdžiui,
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Jei tai vadinsite: ./test.sh * .mp4
Jei randa .mp4 failus, juos ištrina .. ..bet to katalogo failai neišvardyti ..
Dėkojame už atsiliepimus ir patarimus! 🙂
Jūs praleidote f xD
rm -rf 1 USD
Tai įdomiau!
Nuostabu !!!, Kiekvieną dieną aš labiau įsimyliu „Linux“, „Windows“ buvo perkeltas į tamsią mano standžiojo disko kampą, kuris netrukus bus ištrintas, kad užleistų vietą „Linux“ šviesai.
Puiku! .. ..tada žengi kitą žingsnį .. ir išeik ..
Maždaug prieš 6 mėnesius Aš visose savo mašinose turiu tik GNU / Linux ir man daugiau jų nereikia .. .. ne W $ .. ar „Wine“ .. ir aš tokia daugiau nei laiminga .. 😉
Aš užkrėčiau savo aplinką .. kadangi visi mane mato su savo „Arch“, greita, efektyvi ir laiminga .. .. ir jie paprašo manęs įdiegti „Linux“ .. .. taip! .. 😀
Taip pat galite patikrinti, ar juose nėra įvairių plėtinių, galite naudoti kažką panašaus
#! / bin / bash
Katalogas = $ HOME / Atsisiuntimai
jei [$ katalogas]; tada
echo "Čia yra tipų failų sąrašas:"
aidas "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
Naudojant {}, šiuo atveju galite nurodyti kelis plėtinius, naudodami „?“ , yra pakaitos simbolis, leidžiantis pasirinkti „Bet kokį simbolį“.
Tikiuosi, kad tai jums padės
Aš rekomenduoju komandą rasti [katalogas] [paieškos_pattern] –exec [komanda] {} \
Tai neveikia, aš įdėjau šiuos failus į katalogą:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
paieška.sh
#! / bin / bash
PATH = / tmp / TESTAS
cd $ MARŠRUTAS
ls -la | awk '{print »« $ 9}'
jei [[-f AB.TXT]]; tada
echo »Įveskite IF, jei yra AB.TXT »
fi
jei [-f AB20160422.TXT]; tada
echo "įvestis konkrečiam AB failui"
fi
kai įdėjau [-f AB.TXT] pateikia klaidą
kai įdėjau [[-f AB.TXT]] nepateikia klaidos, bet negali rasti failo
jis veikia tik tada, kai dedu konkretų failą, pavyzdžiui:
jei [-f AB20160422.TXT]; tada
Negaliu pasiekti, kad jis veiktų su pakaitomis * ar?
#! / usr / bin / env bash
#.kodavimas = utf-8.
NUOLATINIAI
EXIT_OK = 0
EXIT_BAD = 66
BOLD = = \ 033 [1m »
NC = »\ 033 [0m»
RAUDONA = »\ 033 [31m»
jei [! „1 USD“];
tada
echo "trūksta parametro"
išeiti iš $ EXIT_BAD
fi
kompaktinis diskas „$ 1“
failai = »ls -h1 $ 1»
failui $ ($ files); padaryti
echo -e "čia galite bet ką padaryti naudodami $ BOLD $ failą $ nc"
Done
išeiti iš $ EXIT_OK
@KZ, papasakok daugiau apie tai: „Taip yra todėl, kad įžengiu į nuostabų Python pasaulį“!
HAHAHAHA nah ... po truputį 🙂
Aš vis dar esu „Python“ naujokas, vargu ar turiu laiko skirti tam valandų, todėl esu lėtas taip, lėtas, bet tikras mokydamasis 😀
Labai ačiū 😀 tik vakar galvojau kaip tai padaryti.
tai su ncurses yra puiku 🙂
vienu žodžiu ... Puiku!
Ilgą laiką tobulinau scenarijų, kad galėčiau atsisiųsti iš interneto, tačiau susidūriau su problema, kad jis atsisiuntė prašomus failus 1 ir dar kartą, negalėdamas patikrinti 1ro egzistavimo.
Labai geras tuto.
Čia vertinamas didžiulis indėlis iš Čilės.
Kiekvieną dieną daugiau LINUX mane maloniai nustebina,
Tegyvuoja nemokama programinė įranga MIERDAAAA.
tarnauti
patikrinkite, ar failas yra iš katalogo
Jei noriu patikrinti, ar faile yra kelias „/ tmp / imtuvuose“, atlikite bet kurią komandą, kaip tai būtų?
Būsiu labai dėkinga
saludos
Gerbiamas, ir pagal IF nustatyti, ar failas yra visiškai užpildytas Aš to klausiu, nes kai pildote perdavimo failą, jis gali jį paimti net su puse duomenų.
Sveikinimai ir ačiū už atsakymą.
Na, aš manau, kad jūs taip pat turėtumėte pridėti pavyzdį, pvz., "Patikrinkite, ar nėra" a "failo" ar "katalogo", pavyzdžiui,
norėdami patikrinti, ar jo nėra, pavyzdžiui, naudokite kintamąjį->
Katalogas
#! / bin / bash
Katalogas = »$ HOME / Bandymų katalogas»
Failas = »$ HOME / bandymo failas»
jei [! -d "$ Directory"]; tada
aidas "Nėra $ katalogo"
echo "Kurimas ->" $ katalogas "
mkdir "$ Directory"
kitas
echo „Katalogas„ $ Directory “jau yra
fi
jei [! -d "$ byla"]; tada
echo "Failas $ neegzistuoja"
echo "Kurimas ->" $ failas "
palieskite „$ File“
kitas
echo „Failas„ $ File “jau yra
fi
kai atliksite mkdir vėliau, patikrinkite, ar terminalas galėtų jį sukurti, nes jis gali sulaužyti kamuolius, jei tai yra aplankas kaip šaknis arba sistema hhah
Sveikinimai KZKG ^ Gaara užklausa, kaip aš norėčiau naudoti garbanoti. Norėčiau sužinoti, kaip iš konsolės atlieku URL, kad sužinotumėte, ar jis yra, pavyzdžiui http://portal.com/directorio/archivo1.php Kur failas1 saugo apsilankymo IP, tai stebint komandą, aš turiu padaryti tą smeigtuką kas pusvalandį, kad žinočiau apie viešąjį IP, nes jis kartkartėmis keičiasi ir negaliu prisijungti naudodamas ssh .
Sveikinimai iš anksto dėkoja Dievas jus palaimina.
Sveiki, kaip tai vyksta
Pirma, jūs turite pasakyti, kad IP kintamasis (pavyzdžiui) yra to failo turinys, tam turite:
1. Atsisiųskite failą
2. Peržiūrėkite jo turinį ir gaukite IP iš ten
3. Tas IP yra kintamasis
Pavyzdžiui:
Čia atsisiunčiame failą - »wget http://portal.com/directorio/archivo1.php -o failas.html
Tada priskiriame kintamąjį jo turiniui: - »: $ {IP: =` cat file.html`}
.. darant prielaidą, kad to failo turinys turi tik IP, jei ne, turėsite dirbti su grep, awk ar head.
Kai jau turite kintamąjį IP, visa kita yra paprasčiausias dalykas pasaulyje 🙂
Jei norite, rašykite man el. paštu (kzkggaara[at]desdelinux[dot]net) Mielai jums padėsiu
Labai aciu kzkggaara labai dekinga.
Sveiki, aš nelabai suprantu apie skaičiavimus ir nežinau, ar šis įrašas yra susijęs su mano turima problema.
Aš pakomentuoju, jei perskaitytumėte mane, nors įrašas yra prieš metus:
Pasirodo, kad savo darbalaukyje sukūriau aplanką, kuriame būtų saugomi keli vaizdo įrašai. Na, aš ištryniau tuos vaizdo įrašus, nes man jų nebereikėjo, o dabar šis aplankas man sako, kad jo nėra (nors jis matomas mano darbalaukyje).
- Tai yra pirmoji problema, kurią turiu:
Negaliu ištrinti aplanko.
- Antra problema ir manau, kad svarbesnė:
Bandydamas ištrinti aplanką, įdėjau aplanką NUOTRAUKOS. Dabar, kai atidarau aplanką, kurio „nėra“, jis tuščias, o NUOTRAUKOS nėra.
Kaip atkurti nuotraukas? Aš suteikiau parinktį aplanke „Rodyti paslėptus dokumentus“, bet aplankas NUOTRAUKOS nerodomas.
Tikiuosi, kad galite žinoti, kaip tai išspręsta.
Ačiū.
Yra du vartotojai, kurie yra pagrindiniai: root ir jūsų_user (pvz., Natalia). Jie abu turi asmeninius aplankus. jūsų_vartotojas / home ir šaknis aplanke / (šakninis katalogas). Dešiniuoju pelės mygtuku spustelėkite aplanką, kad pamatytumėte, kam jis priklauso. Jei tai yra root failų tvarkyklėje, naudojant sudo, gksu ar kdesu, atsižvelgiant į naudojamą aplinką, eikite į šakninį katalogą -> root -> Desktop ir tikriausiai rasite nuotraukas ir galėsite ištrinti aplanką. Kai kurie adresai, kai nesate failo ar katalogo savininkas ir neturite prieigos teisių, pasako, kad katalogo / failo nėra. Jei esate savininkas ir nesate root, atlikite tą patį su failų tvarkykle naudodamiesi sudo ir pan.
Jei tai neveikia, turėsite pamatyti kitas terminalo (konsolės) parinktis.
Sveiki, kaip tu? Aš dirbu darbą bash ir norėčiau žinoti, kaip patikrinti, ar, pavyzdžiui, klaviatūroje įvestas katalogas
#! / bin / bash
skaityti maršrutą
#Enter ~ / darbalaukis
# Tada bandau naršyti tame kataloge
cd $ kelias
# Gaunu tokį „bash“ pranešimą: cd: ~ / Desktop: Failo ar katalogo nėra
Mano klausimas, ką aš galiu padaryti, kad įvesčiau jį iš klaviatūros ir laikyčiau jį katalogo keliu?
Ir kaip aš galiu žinoti, ar yra grupė,
gerai, turiu problemą savo kanamoje, kai paspaudžiu mygtuką cunaguaro, jis sako, kad nėra failo ar katalogo, nes tai padėtų išspręsti šią problemą, o likusi dalis neatidaro cunaguaro, prašau ačiū.
Kaip padaryti, jei BASH, jei failo pavadinime yra tarpų?
Pavyzdžiui:
Balandžio mėnesio duomenys.xlsx
Paklausti, ar failas egzistuoja
Carlos, taip:
if [["$ kintamasis = = Data \ mėn. \ balandžio \ xxx]]; tada aidi 'rungtynes'; fi
Taip pat galite:
if [["$ variable" == 'Balandžio mėnesio duomenys.xlsx']]; tada aidi 'rungtynes'; fi
Kitas variantas:
[["$ Variable" == 'Duomenys apie April.xlsx']] && echo 'atitiktys' || aidas 'neatitinka'
Kai kuriose tamsiose interneto vietose jie rekomenduoja naudoti [[]], o ne [], o jei ketinate palyginti skaičius: ((kintamasis> = 3)) && echo 'kintamasis yra didesnis arba lygus 3' || echo 'kintamasis yra mažesnis nei 3'
Todėl skaičiams:
jei ((skaičius! = 4)); tada aidas "$ {number} nėra 4"; else echo „$ {number} yra 4“; fi
Kaip galite sukurti kodą patvirtinti, jei kataloge yra konkretus tekstas, kad galėtumėte jį redaguoti.
pavyzdys:
jei (tekstas1)
nieko nedaryti
kitas
pakeisti text1 į text2
klausimas, kaip būtų tikrinti kas 15 sekundžių, ar failas egzistuoja, ar ne, ačiū.
Sveiki,
tai:
if [-w / namai / Komun / Žurnalai / ti]; tada
Sužinokite, ar failą galima rašyti. Bet tai pagrįsta vartotojo leidimais. Ar tai galima padaryti norint sužinoti, ar grupė ar kiti turi leidimus?