ranger_lnav/shell+ranger.sh

132 lines
5.8 KiB
Bash
Raw Normal View History

2024-06-14 10:56:12 +03:00
#!/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"