ranger_lnav/shell+ranger.sh
Сергей Буравихин c80da46882 first commit
2024-06-14 10:56:12 +03:00

132 lines
5.8 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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"