Kaip patikrinti, ar failas neegzistuoja Bash

Kaip patikrinti, ar failas neegzistuoja Bash
Bash

Įvadas: Neegzistuojančių failų tvarkymas Bash

Dirbant su „Bash“ scenarijais, labai svarbu veiksmingai tikrinti failų egzistavimą. Tai ne tik užtikrina sklandų scenarijų veikimą, bet ir apsaugo nuo klaidų bei netikėto elgesio. Žinojimas, kaip patikrinti, ar failas neegzistuoja, gali būti labai svarbus daugeliu atvejų, pavyzdžiui, kai reikia sukurti naują failą arba atlikti konkrečias operacijas tik tada, kai failo nėra.

Šiame vadove mes išnagrinėsime, kaip nustatyti, ar failas neegzistuoja naudojant Bash scenarijus. Iš pradžių peržiūrėsime įprastą failo egzistavimo tikrinimo metodą, o tada sutelksime dėmesį į metodą, kaip patikrinti, ar failas neegzistuoja, supaprastindami scenarijų sudarymo procesus.

Patikrinkite, ar failas neegzistuoja Bash

Bash scenarijus

# !/bin/bash
FILE=$1
if [ ! -f "$FILE" ]; then
  echo "File $FILE does not exist."
else
  echo "File $FILE exists."
fi

Išplėstinis failų egzistavimo patikrinimas su registravimu

Bash scenarijus su registravimu

# !/bin/bash
FILE=$1
LOGFILE="file_check.log"
if [ ! -f "$FILE" ]; then
  echo "$(date): File $FILE does not exist." | tee -a $LOGFILE
else
  echo "$(date): File $FILE exists." | tee -a $LOGFILE
fi

Failo egzistavimo patikrinimas su pranešimu el. paštu

„Bash“ scenarijus su pranešimu el

# !/bin/bash
FILE=$1
EMAIL="your_email@example.com"
if [ ! -f "$FILE" ]; then
  echo "File $FILE does not exist." | mail -s "File Check" $EMAIL
else
  echo "File $FILE exists." | mail -s "File Check" $EMAIL
fi

Pažangūs failų egzistavimo patikrinimo Bash metodai

Be pagrindinių failų egzistavimo patikrinimų, „Bash“ yra pažangių metodų, kurie gali pagerinti jūsų scenarijų sudarymo galimybes. Vienas iš tokių būdų yra naudoti test komandą kartu su loginiais operatoriais. Tai leidžia atlikti sudėtingesnius sąlyginius patikrinimus. Pavyzdžiui, galbūt norėsite patikrinti, ar failas neegzistuoja, ir sukurti jį, jei jo nėra. Tai galima pasiekti naudojant derinį if [ ! -f "$FILE" ] ir touch "$FILE", kuris sukuria tuščią failą, jei jo trūksta. Šis metodas yra naudingas scenarijuose, kuriuose failo buvimas yra labai svarbus tolimesnėms operacijoms.

Kitas pažangus metodas apima katalogų, o ne failų, patikrinimą. The -d vietoj naudojama vėliava -f norėdami patikrinti, ar yra katalogas. Tai gali būti naudinga tais atvejais, kai scenarijus turi patikrinti, ar yra katalogų, prieš atliekant tokias operacijas kaip failų kopijavimas ar atsarginių kopijų kūrimas. Šiuos patikrinimus derinant su || (loginis ARBA) ir && (loginiai IR) operatoriai gali sukurti patikimus ir lanksčius scenarijus. Pavyzdžiui, if [ ! -d "$DIR" ] || [ ! -f "$FILE" ] leidžia atlikti veiksmus tik tuo atveju, jei katalogo ar failo nėra, pridedant scenarijų valdymo sluoksnį.

Dažni klausimai ir atsakymai apie failų egzistavimo patikrinimus „Bash“.

  1. Kaip patikrinti, ar „Bash“ yra failas?
  2. Galite naudoti komandą if [ -f "$FILE" ]; then norėdami patikrinti, ar failas yra.
  3. Ką daro -f vėliavėlė padaryti failo egzistavimo patikrinime?
  4. The -f vėliavėlė patikrina, ar nurodytas kelias yra įprastas failas.
  5. Kaip patikrinti, ar „Bash“ yra katalogas?
  6. Naudokite komandą if [ -d "$DIR" ]; then norėdami patikrinti, ar yra katalogas.
  7. Koks skirtumas tarp -f ir -d?
  8. The -f vėliavėlė tikrina failus, o -d katalogų vėliavėlių patikrinimai.
  9. Kaip galiu užregistruoti failo egzistavimo patikrinimo rezultatus?
  10. Tu gali naudoti echo ir tee -a $LOGFILE rezultatams užregistruoti.
  11. Ar galima siųsti el. laišką, jei failo nėra?
  12. Taip, naudokite mail -s "Subject" $EMAIL komanda siųsti pranešimus el. paštu.
  13. Ar galiu derinti failų ir katalogų egzistavimo patikrinimus?
  14. Taip, naudojant if [ ! -d "$DIR" ] || [ ! -f "$FILE" ] leidžia atlikti kombinuotus patikrinimus.
  15. Kaip sukurti failą, jei jo nėra?
  16. Naudokite if [ ! -f "$FILE" ]; then touch "$FILE"; fi norėdami sukurti failą.
  17. Kas yra Bash loginiai operatoriai?
  18. Loginiams operatoriams patinka && (IR) ir || (ARBA) naudojami sąlygoms derinti.

Baigiamosios mintys apie failų egzistavimo patikrinimus

Norint sukurti patikimus scenarijus, būtina veiksmingai patikrinti, ar failas neegzistuoja Bash. Naudojant if [ ! -f "$FILE" ] komandą, galite tvarkyti įvairius scenarijus, kai failo buvimas arba nebuvimas yra labai svarbūs. Išplėstiniai metodai, tokie kaip registravimas ir pranešimai, prideda funkcionalumo sluoksnius, todėl jūsų scenarijai tampa universalesni ir informatyvesni. Įvaldydami šiuos metodus pagerinate savo scenarijų sudarymo galimybes, užtikrindami sklandžias ir be klaidų operacijas.