В Bash я хочу сказать «если ~/.gitconfig
существует, сделать что-то» , но возникли проблемы с правильным условием. Мне нужно учитывать простые файлы, действительные символические ссылки и битые символические ссылки.
То, что я пробовал, не работает:
if [[ -L "$HOME/.gitconfig" ]]
- возвращает false, когда .gitconfig
является обычный файл. if [[ -e "$HOME/.gitconfig" ]]
- возвращает ложь, если .gitconfig
существует, но сломана символическая ссылка.
Есть ли переключатель, который может делать то, что я хочу, или мне нужно придумать более сложное условие?
ОБНОВЛЕНИЕ : я удалил упоминание об удалении файлов, меня интересует только условие, а не действия, которые происходят после этого .