Пример простого sh скрипта для Linux Rosa Fresh

Рассмотрим скрипт sh, который позволяет установить мод tModLoader для игры Terraria.


Скачать исходники для статьи можно ниже

Скачать файл InstallTMod.sh можно с моего сайта – здесь.
Или здесь:
https://github.com/blushiemagic/tModLoader/releases/download/v0.10.1.4/tModLoader.Linux.v0.10.1.4.zip

На основе файла InstallTMod.sh, написан для Linux Ubuntu 18.04 Bionic вот его код:

#!/bin/bash
# tModLoader installer by lando
# www.steamcommunity.com/id/Strikezes

if [ $(dpkg-query -W -f='${Status}' wget 2>/dev/null | grep -c "ok installed") -eq 0 ];
  then
    echo "Please install wget and try again."
    echo "You can do this by opening another terminal and typing in:"
    echo "sudo apt-get install wget"
    exit
fi

if [ $(dpkg-query -W -f='${Status}' unzip 2>/dev/null | grep -c "ok installed") -eq 0 ];
  then
    echo "Please install unzip and try again."
    echo "You can do this by opening another terminal and typing in:"
    echo "sudo apt-get install unzip"
    exit
fi

RED='\033[0;31m' # Red
NC='\033[0m' # No Color
GREEN='\033[0;32m'
PURPLE='\033[0;35m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
export PATH=$PATH:~/
echo -e "${PURPLE}tModLoader installer - by lando${NC}"
echo -e "${PURPLE}www.steamcommunity.com/id/Strikezes${NC}"
echo -e "\033[33mIf you are using this software in conjuction with a pirated/cracked copy of Terraria, don't expect this to work. Don't waste my time and ask for help.\033[0m"
echo -e "${RED}If you already have a tModLoader at the home directory, I will move it to your documents folder.${NC}"
echo -e "${RED}By using this software, you agree to the TModLoader disclaimer and agreements${NC}"
echo -e "TModLoader disclaimer and agreement is as follows:${NC}"
echo -e " - By downloading tModLoader, you agree to everything in this disclaimer and agreements."
echo -e " - I am not responsible for anything that happens to your computer if you download tModLoader. Common sense stuff."
echo -e " - Do not use tModLoader to do anything that breaks the Terraria Forums rules. In other words, the rules for making and sharing mods are the same as the rules for sharing mods on these forums; no removed items, no console content, etc."
echo -e " - Mods uploaded through the Mod Browser are tagged with your Steam username, so we will know if you do something bad."
echo -e " - You are allowed to mod tModLoader (similar to how tModLoader is a mod of Terraria), given that you provide a link to this thread."
echo -n "Do you agree and wish to install? (y/n)? "
old_stty_cfg=$(stty -g)
stty raw -echo ; answer=$(head -c 1) ; stty $old_stty_cfg
if echo "$answer" | grep -iq "^y" ;then
    echo Yes
elif echo "$answer" | grep -iq "^n" ;then
    echo No;
exit
else
  echo "Please choose a valid option"
exit
fi
mv ~/tModLoader ~/Documents
mkdir ~/tModLoader
cd ~/tModLoader
echo "Getting tModLoader files..."
wget https://github.com/blushiemagic/tModLoader/releases/download/v0.10.1.4/tModLoader.Linux.v0.10.1.4.zip > /dev/null
echo "Done!"
unzip tModLoader.Linux.v0.10.1.4.zip
echo "Moving original Terraria.exe to Documents/TerrariaBackup"
mkdir ~/Documents/TerrariaBackup
mv ~/.steam/steam/steamapps/common/Terraria/Terraria.exe ~/Documents/TerrariaBackup
mv Terraria.exe ~/.steam/steam/steamapps/common/Terraria/
mv Ionic.Zip.Reduced.dll ~/.steam/steam/steamapps/common/Terraria
mv Terraria.exe.config ~/.steam/steam/steamapps/common/Terraria
mv Mono.Cecil.dll ~/.steam/steam/steamapps/common/Terraria
mv tModLoaderServer ~/.steam/steam/steamapps/common/Terraria
mv MP3Sharp.dll ~/.steam/steam/steamapps/common/Terraria
mv tModLoaderServer.bin.x86 ~/.steam/steam/steamapps/common/Terraria
mv tModLoaderServer.bin.x86_64 ~/.steam/steam/steamapps/common/Terraria
mv tModLoaderServer.exe ~/.steam/steam/steamapps/common/Terraria
mv ModCompile ~/.steam/steam/steamapps/common/Terraria
echo "tModLoader successfully installed!"
exit

Первый шагом скрипт проверяет установлены ли у Вас зависимости для скрипта (wget и unzip). Они должны поставляться в комплекте с каждым дистрибутивом Linux, но возможно, вам потребуется их установить.

Можно установить в ручную следующим способом:

sudo urpmi wget
и
sudo urpmi unzip

Далее скрипт устанавливает цвета для текстовых сообщений.

После выводит их с помощью команды echo.

Затем с помощью команды wget скачивает скрипт и распаковывает его.

Далее создает папку /Documents/TerrariaBackup и перекидывает в неё оригинальный файл Terraria.exe, а далее перекидывает файлы из распакованного архива в папку с игрой.

Запускаем sh скрипт!

Чтобы запустить sh скрипт в Linux Rosa Fresh, Вам нужно выполнить следующие действия:

Открываем терминал (Ctrl+Alt+T).
Переходим в папку с файлом sh скрипта – для этого воспользуйтесь командами cd и dir.
Далее запускаем в терминале Linux Rosa Fresh следующую команду, которая делает sh файл исполняемым:

chmod +x InstallTMod.sh

И запускаем выполнение самого скрипта следующей командой:

./InstallTMod.sh

Убедитесь, что вы не запускаете эту команду от имени root, так как это приведет к установке tModLoader в неожиданном месте. Вы можете проверить, являетесь ли вы root, выполнив команду whoami в терминале.

PS:

sudo apt-get install wget
и
sudo apt-get install unzip

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий