-
-
Save tairov/0651df1992f91d56a3db to your computer and use it in GitHub Desktop.
Обновление тестовых версий (EAP) сред разработки компании JetBrains для Linux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
## | |
# Обновление тестовых версий (EAP) сред разработки компании JetBrains для Linux. | |
# В данном случае скачивается PhpStorm, но скрипт подойдёт для любой среды разработки, | |
# выкладываемой компанией JetBrains в EAP. | |
# | |
# | |
# @author MaximAL | |
# @since 2015-08-27 Поменял паттерн `fileRegex` под текущие реалии. | |
# @since 2015-04-10 Первая версия | |
# @copyright © MaximAL 2015 | |
## | |
## Настройки | |
# Ссылка на страницу с новыми версиями EAP | |
pageUrl='https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Early+Access+Program' | |
# Регулярное выражение для ссылки на новую версию. | |
fileRegex='http://download.jetbrains.com/webide/[^\"]+?\.tar\.gz' | |
# Базовая директория; как правило, `/opt` | |
baseDir='/opt' | |
# Имя символьной ссылки, чтобы новая версия всегда была по одному пути $baseDir/$linkName | |
linkName='PhpStorm' | |
## Поехали! | |
echo "Страница: $pageUrl" | |
echo "Файл: $fileRegex" | |
fileUrl=`wget -q -O - "$pageUrl" | grep -Po "$fileRegex"` | |
if [ -z $fileUrl ]; then | |
echo "По адресу $pageUrl не найдено ссылки на $fileRegex" | |
exit 1 | |
fi | |
echo "Получаем имя каталога…" | |
dirName=`wget -q -O - "$fileUrl" | tar tz | head -n1 | grep --max-count=1 -Po '[^/]+' | head -n1` | |
echo "Каталог: $dirName" | |
if [ -e "$baseDir/$dirName" ]; then | |
echo "Каталог $baseDir/$dirName уже существует. Скорее всего, вы пользуетесь последней версией." | |
exit 2 | |
fi | |
cd "$baseDir" | |
rm -rf "$dirName" | |
echo "Скачиваем архив…" | |
wget -O - "$fileUrl" | tar xzp | |
echo "Настраиваем ссылку…" | |
rm -f "$linkName" | |
ln -s "$dirName" "$linkName" | |
echo "Обновление завершено." | |
echo " Каталог: $baseDir/$dirName/" | |
echo " Ссылка: $baseDir/$linkName" | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment