try/finally с оболочкой bash

Во FreeBSD правильно работает принудительное размонтирование, так что вам не нужно делать это при загрузке. Просто войдите в систему (удаленно ), перемонтируйте rootfs как для чтения -только (mount -fur /), выполните fsck вручную(fsck -y /)и затем перезагрузите машину.

2
11.08.2019, 23:07
1 ответ

Ты мог поставить ловушку:

#!/bin/bash

export bunion_uds_file="$bunion_socks/$(uuidgen).sock"
trap 'rm -f "$bunion_uds_file"' EXIT

"$cmd" "$@" | bunion

Это заставит команду rm -fвыполняться всякий раз, когда сеанс оболочки завершается, за исключением случаев завершения по сигналу KILL.

Как отмечает mosvy в комментарии ,если это сокет, который необходимо очистить перед использованием, было бы проще удалить его перед воссозданием и использованием:

#!/bin/bash

export bunion_uds_file="$bunion_socks/$(uuidgen).sock"
rm -f "$bunion_uds_file" || exit 1

"$cmd" "$@" | bunion
5
27.01.2020, 21:58

Теги

Похожие вопросы