Вы можете проверить, установлена ли команда / исполняемый файл в вашей переменной PATH, одним способом, используя type
if type -P git >/dev/null; then
echo 'git is installed.'
fi
Если вы хотите отменить результат, добавьте !
if ! type -P git >/dev/null; then
echo 'git is not installed.'
fi
Чтобы добавить это к вашему сценарию.
#!/usr/bin/env bash
docker exec 3856a8e52031 /usr/bin/mysqldump -u root --password=cvxxx django_mysql_docker > backup.sql
if ! type -P git >/dev/null; then ##: Check if git is not installed
echo 'git is not installed.' >&2 ##: print an error message to stderr
exit 1 ##: Exit with an error
fi
# Git Push
CURRENT_DATE=$(date +"%D %T") ##: Assign the output of date in a variable
REPO_DIR=/opt/server-scripts/
cd "${REPO_DIR}" || exit
git add --all .
git commit -m "backup: '$CURRENT_DATE'"
git push https://pmutua:xxxxx@github.com/pmutua/sqlbackup.git master
- Вы можете добавить дату непосредственно
git commit -m "backup: '$(date +"%D %T")'"
, так что date
будет таким же, как результат git log
- Другие способы проверить, существует ли команда, - через
command
и hash
см. Как проверить, существует ли программа в моем PATH