#****F* lib/func.sh # NAME # # func.sh - файл c основными функциями. # # USED BY # # - clone-dotfiles.sh #****** #****f* func.sh/setStatusE # NAME # # setStatusE - инвертирование строк начинающихся с знака #. # # -e - любая команда # # ARGUMENTS # # toggle - строка для включения или выключения. # # USAGE # # setStatusE # # EXAMPLE # # setStatusE "on" # setStatusE "off" # # SEE ALSO # # Подробнее про set в: man bash, 4070 стр. #****** function setStatusE() { if [[ "$1" == "on" ]]; then set -euo pipefail elif [[ "$1" == "off" ]]; then set +eu set +o pipefail fi } #****f* func.sh/getKdbxFile # NAME # # getKdbxFile - скачивает Password.kdbx с яндекс диска. #****** function getKdbxFile() { read -r -s -p "Введи url на kdbx файл: " KEEPASSXC_BASE_URL read -r passwordFileLink < <("$PIPX_YADISK_DIRECT_PKG_DIR" "https://yadi.sk/d/$KEEPASSXC_BASE_URL") wget "$passwordFileLink" -O "$KEEPASSXC_BASE" } #****f* func.sh/getHttpsToken # NAME # # openKeepass - возвращает HTTPS_TOKEN. #****** function getHttpsToken() { setStatusE "off" read -r -s -p "Введи мастер-пароль: " MASTER_PASSWORD echo "$MASTER_PASSWORD" >"$KEEPASSXC_MASTER_PASSWORD" HTTPS_TOKEN=$(keepassxc-cli show --attributes "$KEEPASSXC_SOFT_SERVE_ATTRIBUTE_HTTPS_TOKEN" "$KEEPASSXC_BASE" "$KEEPASSXC_SOFT_SERVE_ENTRY" <<<"${MASTER_PASSWORD}") return 0 } #****f* func.sh/pipxInstall # NAME # # pipxInstall - установки пакетров через pipx. #****** function pipxInstall() { pipx install -f "$PIPX_YADISK_DIRECT_PKG" return 0 } #****f* func.sh/cloneInit # NAME # # cloneInit - клонирование проекта .init с soft-serve. #****** function cloneInit() { git clone "https://$HTTPS_TOKEN@$SOFT_SERVE_DOMAIN/.init.git" "$HOME/init" }