Sobes.tech
Junior — Middle

Чӣ гуна идоракунии хатогиҳои эҳтимолӣ ҳангоми навиштани скриптҳои bash?

sobes.tech AI

Ҷавоб аз AI

Ҳалокати хатолар дар скриптҳои bash метавонад бо чанд роҳ иҷро карда шавад:

  1. Таҳқиқи коди баргардонии фармонҳо — пас аз иҷрои фармон, метавон тағйирёбандаи $?-ро санҷид, ки коди баргардониро дорад (0 — муваффақият, ҳар арзиши дигар — хатогӣ).
cp source.txt dest.txt
if [ $? -ne 0 ]; then
  echo "Хатогӣ дар нусхабардории файл"
  exit 1
fi
  1. Истифодаи set -e — скрипт автоматӣ ба охир мерасад агар ягон фармон хатогӣ кунад.
set -e
cp source.txt dest.txt  # агар фармон хатогӣ кунад, скрипт қатъ мешавад
  1. Ҳалокати хатогӣ бо истифодаи trap — имкон медиҳад, ки амалҳои муайян дар ҳолати хатогӣ ё сигнали махсус иҷро шаванд.
trap 'echo "Хатогӣ рӯй дод!"; exit 1' ERR
  1. Истифодаи операторҳои шароит ва санҷишҳо — барои идоракунии бештар флексибл хатогӣ.

Бо ҳамҷоя кардани ин усулҳо, шумо метавонед хатогиҳоро самаранок назорат ва идора кунед.