Kā pārbaudīt, vai fails neeksistē programmā Bash

Kā pārbaudīt, vai fails neeksistē programmā Bash
Bash

Ievads: neesošu failu apstrāde programmā Bash

Strādājot ar Bash skriptiem, ir svarīgi efektīvi apstrādāt failu esamības pārbaudes. Tas ne tikai nodrošina nevainojamu skriptu darbību, bet arī novērš kļūdas un negaidītas darbības. Zināt, kā pārbaudīt, vai fails neeksistē, var būt ļoti svarīgi daudzos gadījumos, piemēram, ja ir jāizveido jauns fails vai jāveic noteiktas darbības tikai tad, ja faila nav.

Šajā rokasgrāmatā mēs izpētīsim, kā noteikt, vai fails neeksistē, izmantojot Bash skriptu. Mēs sāksim, pārskatot izplatīto metodi, lai pārbaudītu, vai fails pastāv, un pēc tam pievērsīsimies pieejai, lai pārbaudītu, vai fails neeksistē, racionalizējot jūsu skriptēšanas procesus.

Pārbaude, vai fails neeksistē Bash

Bash skripts

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

Papildu failu esamības pārbaude ar reģistrēšanu

Bash skripts ar reģistrēšanu

# !/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

Faila esamības pārbaude ar e-pasta paziņojumu

Bash skripts ar e-pasta paziņojumu

# !/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

Uzlabotas metodes failu esamības pārbaudēm programmā Bash

Papildus pamata failu esamības pārbaudēm programmā Bash ir arī uzlabotas metodes, kas var uzlabot jūsu skriptēšanas iespējas. Viena no šādām metodēm ir izmantot test komandu kombinācijā ar loģiskajiem operatoriem. Tas ļauj veikt sarežģītākas nosacījumu pārbaudes. Piemēram, iespējams, vēlēsities pārbaudīt, vai fails neeksistē, un izveidot to, ja tā nav. To var panākt, izmantojot kombināciju if [ ! -f "$FILE" ] un touch "$FILE", kas izveido tukšu failu, ja tā trūkst. Šī pieeja ir noderīga skriptos, kur faila klātbūtne ir izšķiroša turpmākajām darbībām.

Vēl viena uzlabota tehnika ietver direktoriju, nevis failu pārbaudi. The -d vietā tiek izmantots karogs -f lai pārbaudītu, vai direktorijs pastāv. Tas var būt noderīgi gadījumos, kad jūsu skriptam ir jāpārbauda direktoriju esamība, pirms turpināt tādas darbības kā failu kopēšana vai dublējumkopiju izveide. Apvienojot šīs pārbaudes ar || (loģisks VAI) un && (loģiski UN) operatori var izveidot stabilus un elastīgus skriptus. Piemēram, if [ ! -d "$DIR" ] || [ ! -f "$FILE" ] ļauj veikt darbības tikai tad, ja direktorija vai faila nav, pievienojot skriptiem kontroles slāni.

Bieži uzdotie jautājumi un atbildes par failu esamības pārbaudēm programmā Bash

  1. Kā pārbaudīt, vai fails pastāv programmā Bash?
  2. Jūs varat izmantot komandu if [ -f "$FILE" ]; then lai pārbaudītu, vai fails pastāv.
  3. Ko dara -f karogu darīt faila esamības pārbaudē?
  4. The -f karodziņš pārbauda, ​​vai norādītais ceļš ir parasts fails.
  5. Kā es varu pārbaudīt, vai programmā Bash pastāv direktorijs?
  6. Izmantojiet komandu if [ -d "$DIR" ]; then lai pārbaudītu, vai direktorijs pastāv.
  7. Kāda ir atšķirība starp -f un -d?
  8. The -f karodziņš pārbauda failus, savukārt -d karodziņu pārbaudes direktorijiem.
  9. Kā es varu reģistrēt faila esamības pārbaudes rezultātus?
  10. Tu vari izmantot echo un tee -a $LOGFILE lai reģistrētu rezultātus.
  11. Vai ir iespējams nosūtīt e-pastu, ja fails neeksistē?
  12. Jā, izmantojiet mail -s "Subject" $EMAIL komanda, lai nosūtītu e-pasta paziņojumus.
  13. Vai varu apvienot failu un direktoriju esamības pārbaudes?
  14. Jā, izmantojot if [ ! -d "$DIR" ] || [ ! -f "$FILE" ] ļauj veikt kombinētās pārbaudes.
  15. Kā izveidot failu, ja tas neeksistē?
  16. Izmantot if [ ! -f "$FILE" ]; then touch "$FILE"; fi lai izveidotu failu.
  17. Kas ir Bash loģiskie operatori?
  18. Loģiskajiem operatoriem patīk && (UN) un || (OR) tiek izmantoti, lai apvienotu nosacījumus.

Noslēguma domas par failu esamības pārbaudēm

Lai izveidotu uzticamus skriptus, ir svarīgi efektīvi pārbaudīt, vai fails neeksistē Bash. Izmantojot if [ ! -f "$FILE" ] komandu, varat rīkoties dažādos gadījumos, kad faila klātbūtne vai neesamība ir ļoti svarīga. Uzlabotas metodes, piemēram, reģistrēšana un paziņojumi, pievieno funkcionalitātes slāņus, padarot jūsu skriptus daudzpusīgākus un informatīvākus. Apgūstot šīs metodes, jūs uzlabojat savas skriptēšanas iespējas, nodrošinot vienmērīgu un bez kļūdām darbību.