Es neko neesmu ielicis Stipri iesist, un ir tas, ka, ieejot brīnišķīgajā Python pasaulē, es esmu mazliet aizmirsis par šo citu draugu, kurš man tik ļoti palīdzēja 🙂
Šeit es kaut ko ievietoju Bash entuziastiem, kā teikts nosaukumā ... Es jums parādīšu, kā pārbaudīt, vai sistēmā ir fails vai mape, vienkārši izmantojot: if
Mēs gatavojamies izveidot .sh failu un piešķirt tam izpildes atļaujas, tāpēc pietiek ar to, lai terminālā ievietotu šādu komandu:
pieskarieties test.sh && chmod + x test.sh
Tas tika darīts, izveidojot failu (pieskāriena tests.sh) un arī piešķir jums izpildes atļaujas (chmod + x tests.sh)
Tad uzrakstīsim tajā sekojošo:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Ko tas dara?
Vienkārši 😀
Pirmajā rindā - » ja [-d / opt /];
Šeit mēs jautājam, vai / opt / direktorija pastāv? Jā direktorija / mape, jo -d nozīmē direktoriju vai mapi.
Tad, ja tāda pastāv, mēs drukāsim terminālā «Jā, tas tiešām pastāv.»(Šī ir 2. un 3. rinda)
Pretējā gadījumā / / opt NAV, tad mēs drukāsim «Nē, tā neeksistē»(4. un 5. rinda)
Tad pēdējā rindā (6. numurs) mēs aizveram ja un viss.
Veiciet testu, tas parādīs, ka / opt / pastāv.
Ja vēlaties, lai parādītu jums citu tekstu (to, kura nav), mainiet / opt / jebkurai citai mapei, kuras jūsu sistēmā nav, piemēram: / asd /
Kā redzat, -d palīdz mums uzzināt, vai direktorija pastāv, tagad, ja mēs mainām -d uz -f, tas ir, lai pārbaudītu failu esamību (-d = direktorijs, -f = fails / fails)
Piemēram:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Šeit ir opciju saraksts:
-d - »Pārbaudiet, vai pastāv noteikts katalogs
-f - »Pārbaudiet, vai pastāv noteikts fails
-w - »Pārbaudiet, vai noteiktam failam ir rakstīšanas atļaujas
-x - »Pārbaudiet, vai noteiktam failam ir izpildes atļaujas.
Un nu nav daudz ko piebilst 🙂
Es zinu, ka tas būs ļoti noderīgi un interesanti tiem, kam patīk programmēt Bashā 😉
Sveicieni
Vēl viens veids, kā to izdarīt bez tā, ja… tad .. vēl:
test -f /etc/hosts && elcomando
Vai arī
test ! -f /etc/hosts && echo "no se encontró el archivo"
Utt
Pareizi 😀
… O_O ... Vai tu esi Hugo, Hugo no Kubas? ... Izmantojot Windows8, WTF !!!
Jā, es iepazinos ar šo operētājsistēmu, un, ja man jābūt atklāti, vienīgais, kas man ir noderīgs, ir kopiju pārvaldnieks, pretējā gadījumā man personīgi šķiet, ka tas ir sāpīgs, it īpaši tā hibrīdā saskarne un metro lietojumprogrammas. Man tas patīk mazāk nekā Vista un 7 (kaut arī nedaudz efektīvāki par šiem), kas arī man nepatika. Vienīgais, kam es to izmantoju, ir NFS13 un Skyrim atskaņošana, taču šī OS aizņem tik daudz vietas, ka man bija jāizdzēš mans Linux nodalījums [snif].
Tomēr jūsu miera labad es jums pateikšu, ka aizvakar es lejupielādēju Arch ISO for January un es plānoju veikt nelielu pārbaudi tā x86-64 versijā, tiklīdz es saņemšu repo (vai jūs ir tas?). Tagad, kad es redzēju, ka tas pēc noklusējuma izmanto parakstītas paketes, tas man dod lielāku pārliecību ienirt.
Un mans tēvs arī man teica, ka viņš man nosūtīs Sony Xperia, kuru es vēlos izmantot, lai apgūtu kādu Android programmēšanu, kas bija gaidāma vēlme. Tāpēc nomierinies, es vēl neesmu devies uz spēka tumšo pusi, buahahahaha 😉
cilvēka tests
Pārliecināts.
Wenas! ..
Mēs varētu izveidot to pašu .. ..bet direktorija tiek nodota kā parametrs ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Un mēs to saucam:
./test.sh / opt /
Sveiciens ..
IF nav cikls xD
Tas man der kā cimds scenārijam, kuru es daru. Vai ir derīgi izmantot aizstājējzīmes? Piemēram, lai uzzinātu, vai ir .mp4s, palaidiet kaut ko uz tiem.
ja [-f * .mp4];
...
Jā, tas ir pilnīgi derīgs ..
Pat caur parametriem .. "* .mp4"
Piemēram
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Ja jūs to saucat: ./test.sh * .mp4
Ja atrod .mp4 failus, tos izdzēš ... ... bet tajā esošie faili netiek uzskaitīti ...
Paldies par atsauksmēm un padomiem! 🙂
Jūs nokavējāt f xD
rm -rf $ 1
Tas ir aizraujošāk!
Brīnišķīgi !!!, Katru dienu es vairāk iemīlu Linux, Windows ir ticis novirzīts uz kādu manu cietā diska tumšo stūri, kas drīz tiks izdzēsts, lai dotu vietu Linux gaismai.
Izcili! .. ..tad sper nākamo soli .. un dabū ārā ..
Pirms 6 mēnešiem apm. Man ir tikai GNU / Linux visās manās mašīnās, un man vairāk nevajag .. .. ne W $ .. ne Vīnu .. ..un es tā vairāk nekā priecājos ..
Es inficēju savu apkārtni .. tā kā visi mani redz ar manu arku, ātru, efektīvu un laimīgu .. ..un viņi lūdz mani instalēt Linux .. .. jā! .. 😀
Varat arī pārbaudīt, vai tajos ir dažādi paplašinājumi, varat izmantot kaut ko līdzīgu
#! / bin / bash
Katalogs = $ HOME / Lejupielādes
ja [$ katalogs]; pēc tam
echo "Šeit ir failu tipu saraksts:"
atbalss "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
Izmantojot {}, šajā gadījumā varat norādīt vairākus paplašinājumus, izmantojot “?” , ir aizstājējzīme, kas ļauj izmantot "Jebkurš raksturs".
Es ceru, ka tas jums palīdzēs
Es iesaku komandai atrast [direktorija] [meklēšanas_pattern] –exec [komanda] {} \
Tas nedarbojas, es ievietoju šos failus direktorijā:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
meklēt.sh
#! / bin / bash
PATH = / tmp / TESTS
cd $ MARŠRUTS
ls -la | awk '{print »« $ 9}'
ja [[-f AB.TXT]]; pēc tam
atbalss »Ievadiet IF, ja ir kāds AB.TXT »
fi
ja [-f AB20160422.TXT]; pēc tam
echo "ievade konkrētam AB failam"
fi
kad ieliku [-f AB.TXT] dod kļūdu
kad ieliku [[-f AB.TXT]] nedod kļūdu, taču nevar atrast failu
tas darbojas tikai tad, kad es ievietoju noteiktu failu, piemēram:
ja [-f AB20160422.TXT]; pēc tam
Es nevaru panākt, lai tas darbotos ar aizstājējzīmēm * vai?
#! / usr / bin / env bash
#.kodējums = utf-8.
KONSTANTI
EXIT_OK = 0
EXIT_BAD = 66
DROŠI = »\ 033 [1m»
NC = »\ 033 [0m»
RED = »\ 033 [31m»
ja [! "$ 1"];
tAD
atbalss "trūkst parametra"
iziet no $ EXIT_BAD
fi
CD "$ 1"
faili = »ls -h1 $ 1»
failam $ ($ failos); darīt
echo -e "šeit varat darīt jebko ar $ BOLD $ failu $ nc"
darīts
iziet no $ EXIT_OK
@KZ, pastāstiet vairāk par šo: "Un tas ir tāpēc, ka es ieeju brīnišķīgajā Python pasaulē"!
HAHAHAHA nah ... pamazām 🙂
Es joprojām esmu tikai Python iesācējs, diez vai man ir laiks tam veltīt stundas un stundas, tāpēc mācībās esmu lēns jā, lēns, bet pārliecināts 😀
Liels paldies 😀 tieši vakar domāju, kā to izdarīt.
tas ar ncurses ir lieliski 🙂
ar vienu vārdu ... IZCILI!
Ilgu laiku es pilnveidoju skriptu, lai lejupielādētu no interneta, taču man bija problēma, ka tas lejupielādēja pieprasītos failus 1 un vēlreiz, nespējot pārbaudīt 1ro esamību.
Ļoti labs tuto.
Tiek novērtēts milzīgs ieguldījums šeit no Čīles.
Katru dienu vairāk LINUX mani patīkami pārsteidz,
Lai dzīvo bezmaksas programmatūra MIERDAAAA.
kalpot par
pārbaudiet, vai fails ir no direktorija
Ja es vēlos pārbaudīt jebkura faila esamību ceļā «/ tmp / uztvērēji», izpildiet jebkuru komandu, kā tas būtu?
Būšu ļoti pateicīga
Sveicieni
Dārgais, un, ja IF nosaka, vai fails ir pilnībā aizpildīts ???. Es to jautāju, jo, aizpildot failu nosūtīšanai, tas var aizņemt pat pusi no datiem.
Sveiciens un paldies par atsaucību.
Es domāju, ka jums vajadzētu pievienot arī piemēru, piemēram, "Pārbaudiet, vai nav" a "fails" vai "direktorijs", piemēram,
lai pārbaudītu, vai tā NAV, piemēram, izmantojiet mainīgo->
Katalogs
#! / bin / bash
Katalogs = »$ HOME / Testa katalogs»
File = »$ HOME / testa fails»
ja [! -d "$ Directory"]; pēc tam
atbalss "Nav $ direktorija"
atbalss "Izveide ->" $ Directory "
mkdir "$ Directory"
cits
echo "Katalogs" $ Directory "jau pastāv
fi
ja [! -d "$ fails"]; pēc tam
atbalss "Fails $ neeksistē"
atbalss "Izveide ->" $ fails "
pieskarieties "$ File"
cits
echo "Fails" $ File "jau pastāv
fi
kad vēlāk veicat mkdir, pārbaudiet, vai termināls to varētu izveidot, jo tas var salauzt bumbiņas, ja tā ir mape kā root vai sistēma hhah
Sveicieni KZKG ^ Gaara vaicājums, kā es darītu, lai izmantotu čokurošanos. Es gribētu uzzināt, kā es no konsoles veicu ping URL, lai redzētu, vai tas, piemēram, ir pieejams http://portal.com/directorio/archivo1.php Ja failā1 tiks glabāti apmeklējuma IP, komandas uzraudzībai man šī piespraude jāizveido ik pēc pusstundas, lai es būtu informēts par publisko IP, jo tas laiku pa laikam mainās, un es nevaru izveidot savienojumu, izmantojot ssh.
Sveiciens jau iepriekš pateicos, Dievs jūs svētī.
Sveiki, kā tas notiek
Pirmkārt, jums jāsaka, ka IP mainīgais (piemēram) ir šī faila saturs, tāpēc jums:
1. Lejupielādējiet failu
2. Skatiet tā saturu un iegūstiet IP no turienes
3. Šis IP ir mainīgais
Piemēram:
Šeit mēs lejupielādējam failu - »wget http://portal.com/directorio/archivo1.php -o fails.html
Tad tā saturu piešķiram mainīgajam: - »: $ {IP: =` cat file.html`}
.. pieņemot, ka šī faila saturam ir tikai IP, ja tā nav, jums būs jāstrādā ar grep, awk vai head.
Kad IP jau ir mainīgais, pārējais ir vienkāršākā lieta pasaulē 🙂
Si quieres me escribes al email (kzkggaara[at]desdelinux[dot]net) que con gusto te ayudo
Liels paldies kzkggaara ļoti pateicīgs.
Sveiki, es daudz nesaprotu par skaitļošanu un nezinu, vai šis ieraksts ir saistīts ar manis radīto problēmu.
Es komentēju, ja jūs mani izlasījāt, kaut arī ziņa ir pirms gada:
Izrādās, ka es savā darbvirsmā izveidoju mapi, kurā glabāt dažus videoklipus. Es tos videoklipus izdzēsu, jo man tie vairs nebija vajadzīgi, un tagad šī mape man paziņo, ka tā neeksistē (kaut arī tā ir redzama uz mana darbvirsmas).
- Tā ir pirmā problēma, kas man ir:
Nevaru izdzēst mapi.
- Otrā problēma, un es uzskatu, ka vēl svarīgāka:
Mēģinot izdzēst mapi, es ievietoju mapi PHOTOS. Tagad, kad atveru mapi, kuras "nav", tā ir tukša, un FOTOATTĒLI nav.
Kā es varu atgūt fotoattēlus? Esmu devis iespēju mapē "Rādīt slēptos dokumentus", bet mape FOTOS neparādās.
Es ceru, ka jūs varat zināt, kā tas tiek atrisināts.
Paldies.
Ir divi lietotāji, kas ir galvenie: root un your_user (piemēram, natalia). Viņiem abiem ir personīgās mapes. jūsu_lietotājs iekš / home un saknes mapē / (saknes direktorijā). Ar peles labo pogu noklikšķinot uz mapes, redziet, kam tā pieder. Ja tas ir root faila pārvaldniekā, izmantojot sudo, gksu vai kdesu, atkarībā no izmantotās vides, dodieties uz saknes direktoriju -> root -> Desktop, un jūs, iespējams, atradīsit fotoattēlus, un jūs varat izdzēst mapi. Daži rajoni, kad neesat faila vai direktorijas īpašnieks un jums nav piekļuves atļauju, paziņo, ka direktorija / fails nepastāv. Ja esat īpašnieks un neesat root, dariet to pašu ar failu pārvaldnieku ar sudo utt. Un dodieties uz saknes direktoriju -> / home -> personal_folder -> Desktop un pārbaudiet, vai fotoattēli ir un vai jūs varat izdzēst mapi.
Ja tas nedarbojas, jums būs jāredz citas iespējas no termināla (konsoles).
Sveiki, kā tev klājas? Es daru darbu bashā, un es vēlētos uzzināt, kā pārbaudīt, vai, piemēram, no tastatūras ir ievadīts direktorijs
#! / bin / bash
lasīt maršrutu
#Enter ~ / Desktop
# Tad es mēģinu pārvietoties tajā direktorijā
cd $ ceļš
# Es saņemu šādu bash ziņojumu: cd: ~ / Desktop: Fails vai direktorijs nepastāv
Mans jautājums ir, ko es varu darīt, lai ievadītu to no tastatūras un ņemtu to kā direktorijas ceļu?
Un kā es varu zināt, vai grupa pastāv,
labi, man ir problēma manā kanaimā, nospiežot pogu cunaguaro, tur teikts, ka nav faila vai direktorija, jo tas darītu, lai atrisinātu šo problēmu, un pārējais neatver cunaguaro, lūdzu, paldies.
Kā jūs darāt, ja BASH, ja faila nosaukumam ir atstarpes?
Piemēram:
Aprīļa dati.xlsx
Jautāt, vai fails pastāv
Karloss, piemēram:
ja [["$ mainīgais" == Datu \ mēnesis \ no \ April.xlsx]]; tad atbalss 'sērkociņš'; fi
Jūs varat arī:
ja [["$ mainīgais" == 'Dati par aprīļa mēnesi.xlsx']]; tad atbalss 'sērkociņš'; fi
Vēl viena iespēja:
[["$ Variable" == 'Dati par aprīli.xlsx']] && echo 'sakrīt' || atbalss 'neatbilst'
Dažos tumšos interneta apgabalos viņi iesaka lietot [[]], nevis [], un, ja jūs salīdzināt skaitļus, tad: ((mainīgais> = 3)) && echo 'mainīgais ir lielāks vai vienāds ar 3' | | echo 'mainīgais ir mazāks par 3'
Tāpēc attiecībā uz skaitļiem:
ja ((skaitlis! = 4)); tad atbalss "$ {number} nav 4"; cits atbalss "$ {number} ir 4"; fi
Kā jūs varat izveidot kodu, lai pārbaudītu, vai direktorijā ir noteikts teksts, lai to varētu rediģēt.
piemērs:
ja (teksts1)
neko nedari
cits
mainīt tekstu1 uz tekstu2
jautājums, kā būtu pārbaudīt ik pēc 15 sekundēm, vai fails pastāv vai nav, paldies.
Hello,
tas:
if [-w / home / Komun / Logs / ti]; pēc tam
Uzziniet, vai fails ir rakstāms. Bet tas ir balstīts uz lietotāju atļaujām. Vai to var izdarīt, lai uzzinātu, vai grupai vai pārējām ir atļaujas?