first commit

This commit is contained in:
Сергей Буравихин 2024-06-14 10:56:12 +03:00
commit c80da46882
2 changed files with 140 additions and 0 deletions

8
README.md Normal file
View File

@ -0,0 +1,8 @@
# Ranger + lnav
Автоматическая установка `ranger` и `lnav` (в случае отсутствия на АРМ) и настройка работы `ranger` с `lnav`
# Как запустить?
`bash shell+ranger.sh`
# Зависимости
Необходимо наличие пакетов `git` и `unzip` на АРМ.

132
shell+ranger.sh Normal file
View File

@ -0,0 +1,132 @@
#!/bin/bash
directory="$HOME/Документы/ranger"
LNAVCONFIG="lnav"
if ! command -v git &> /dev/null; then
echo -e "\e[0;33m----------\e[0m"
echo "Error: git не установлен"
echo "Установите ПО Git и повторите снова"
echo -e "\e[0;33m----------\e[0m"
exit 1
fi
if ! command -v unzip &> /dev/null; then
echo -e "\e[0;33m----------\e[0m"
echo "Error: unzip не установлен"
echo "Установите ПО unzip и повторите снова"
echo -e "\e[0;33m----------\e[0m"
exit 1
fi
echo -e "\e[0;33m----------\e[0m"
echo -e "ДАННЫЙ СКРИПТ УСТАНОВИТ RAGNER, А ТАКЖЕ СДЕЛАТ В НЁМ ПО УМОЛЧАНИЮ ТЕКСТОВЫЙ РЕДАКТОР LNAV"
echo -e "\e[0;33m----------\e[0m"
sleep 2
if ! [ -d $HOME/Документы/ ]; then
echo -e "\e[0;33m----------\e[0m"
echo 'Создаём $HOME/Документы'
echo -e "\e[0;33m----------\e[0m"
mkdir -p $HOME/Документы
fi
if ! command -v lnav &> /dev/null; then
echo "Error: lnav не установлен"
echo "Выполнить установку lnav 0.12.2 или пропустить шаг? (y / n / s)"
read lnav
if [ "$lnav" == "n" ] || [ "$lnav" == "N" ]; then
echo -e "\e[0;31mОтмена выполнения\e[0m"
echo -e "\e[0;33m----------\e[0m"
exit 1
elif [ "$lnav" == "s" ] || [ "$lnav" == "S" ]; then
echo -e "\e[0;33m----------\e[0m"
echo "Пропускаем шаг"
echo -e "\e[0;33m----------\e[0m"
else
echo -e "\e[0;33m----------\e[0m"
echo "Загружаем lnav"
LNAVCONFIG="/home/$USER/Документы/lnav"
wget -P /tmp https://github.com/tstack/lnav/releases/download/v0.12.2/lnav-0.12.2-linux-musl-x86_64.zip
unzip /tmp/lnav-0.12.2-linux-musl-x86_64.zip -d /tmp/
cp /tmp/lnav-0.12.2/lnav /home/$USER/Документы/
if [ -n "$BASH_VERSION" ]; then
echo "alias lnav='~/Документы/lnav'" >> ~/.bashrc
source ~/.bashrc
echo -e "\e[0;33m----------\e[0m"
echo "Алиас 'lnav' добавлен в ~/.bashrc"
echo -e "Перед использованием незабудьте выполнить \e[0;32msource ~/.bashrc"
echo -e "\e[0;33m----------\e[0m"
elif [ -n "$ZSH_VERSION" ]; then
echo "alias lnav='~/Документы/lnav'" >> ~/.zshrc
source ~/.zshrc
echo -e "\e[0;33m----------\e[0m"
echo "Алиас 'lnav' добавлен в ~/.zshrc"
echo -e "Перед использованием незабудьте выполнить \e[0;32msource ~/.zshrc"
echo -e "\e[0;33m----------\e[0m"
else
echo "Не удалось определить текущую оболочку"
echo "Скрипт \e[0;31mзавершился ошибкой.\e[0m"
exit 1
fi
fi
fi
if [ -d "$directory" ]; then
echo "Директория $directory существуют. Вы точно не выполняли скрипт ранее?"
echo -e "\e[0;33m----------\e[0m"
echo "Продолжить (это приведет к удалению $directory и новой загрузке ranger)? (y / n)"
read answer
echo -e "\e[0;33m----------\e[0m"
if [ "$answer" == "n" ] || [ "$answer" == "N" ]; then
echo -e "\e[0;31mОтмена выполнения\e[0m"
exit 1
else
echo "Продолжаем выполнение, загружаю ranger в $directory."
echo -e "\e[0;33m----------\e[0m"
rm -rf $directory
git clone https://github.com/ranger/ranger.git $directory
sed -i "s/mime \^text, label editor = \${VISUAL:-\$EDITOR} -- \"\$@\"/mime ^text, label editor = \${VISUAL:-\$LNAVCONFIG} -- \"\$@\"/" $directory/ranger/config/rifle.conf
fi
else
echo "Не удалось найти $directory, загружаю туда ranger."
echo -e "\e[0;33m----------\e[0m"
git clone https://github.com/ranger/ranger.git $directory
sed -i "s/mime \^text, label editor = \${VISUAL:-\$EDITOR} -- \"\$@\"/mime ^text, label editor = \${VISUAL:-\$LNAVCONFIG} -- \"\$@\"/" $directory/ranger/config/rifle.conf
fi
if [ -n "$BASH_VERSION" ]; then
echo "alias ranger='python3 $directory/ranger.py'" >> ~/.bashrc
source ~/.bashrc
echo -e "\e[0;33m----------\e[0m"
echo "Алиас 'ranger' добавлен в ~/.bashrc"
echo -e "Перед использованием незабудьте выполнить \e[0;32msource ~/.bashrc"
echo -e "\e[0;33m----------\e[0m"
elif [ -n "$ZSH_VERSION" ]; then
echo "alias ranger='python3 $directory/ranger.py'" >> ~/.zshrc
source ~/.zshrc
echo -e "\e[0;33m----------\e[0m"
echo "Алиас 'ranger' добавлен в ~/.zshrc"
echo -e "Перед использованием незабудьте выполнить \e[0;32msource ~/.zshrc"
echo -e "\e[0;33m----------\e[0m"
else
echo "Не удалось определить текущую оболочку"
echo "Скрипт \e[0;31mзавершился ошибкой.\e[0m"
exit 1
fi
if [ -n "$BASH_VERSION" ]; then
echo "export LNAVCONFIG=$LNAVCONFIG" >> /home/$USER/.bashrc
elif [ -n "$ZSH_VERSION" ]; then
echo "export LNAVCONFIG=$LNAVCONFIG" >> /home/$USER/.zshrc
else
echo "Не удалось определить текущую оболочку"
echo "Скрипт \e[0;31mзавершился ошибкой.\e[0m"
exit 1
fi
echo -e "\e[0;33m----------\e[0m"
echo "Скрипт выполнился успешно! Приятного пользования!"
echo -e "\e[0;33m----------\e[0m"