Quote things + echo newlines properly

This commit is contained in:
TheElectronWill 2017-01-05 12:37:40 +01:00
parent 182d1ce9ee
commit d6e5c87347

View file

@ -2,7 +2,7 @@
# Author: TheElectronWill # Author: TheElectronWill
# This script downloads the latest version of Discord for linux, and creates a package with rpmbuild. # This script downloads the latest version of Discord for linux, and creates a package with rpmbuild.
# Define the needed paths # Defines the needed paths
desktop_model=$PWD/discord.desktop desktop_model=$PWD/discord.desktop
spec_file=$PWD/discord.spec spec_file=$PWD/discord.spec
@ -19,7 +19,7 @@ if [ "$(id -u)" = "0" ]; then
echo 'Actually, badly written RPM spec files may execute dangerous command in the system directories.' echo 'Actually, badly written RPM spec files may execute dangerous command in the system directories.'
echo 'So it is REALLY safer not to run this script as root.' echo 'So it is REALLY safer not to run this script as root.'
echo 'If you still want to run this script as root, type "do it!" within 5 seconds (type anything else to exit):' echo 'If you still want to run this script as root, type "do it!" within 5 seconds (type anything else to exit):'
read -t 5 -n 6 -p 'Do you really want to do it (not recommended)? ' answer read -t 5 -p 'Do you really want to do it (not recommended)? ' answer
if [ "$answer" != "do it!" ]; then if [ "$answer" != "do it!" ]; then
exit exit
fi fi
@ -29,7 +29,8 @@ fi
if ! type 'rpmbuild' > /dev/null; then if ! type 'rpmbuild' > /dev/null; then
echo 'You need the rpm development tools to create rpm packages.' echo 'You need the rpm development tools to create rpm packages.'
read -n 1 -p 'Do you want to install the rpmdevtools package now? [y/N]' answer read -n 1 -p 'Do you want to install the rpmdevtools package now? [y/N]' answer
case $answer in echo
case "$answer" in
y|Y) y|Y)
sudo -p 'Enter your password to install rpmdevtools: ' dnf install rpmdevtools sudo -p 'Enter your password to install rpmdevtools: ' dnf install rpmdevtools
;; ;;
@ -44,21 +45,21 @@ fi
# Downloads the discord tar.gz archive and puts its name in the global variable archive_name. # Downloads the discord tar.gz archive and puts its name in the global variable archive_name.
download_discord() { download_discord() {
echo 'Downloading discord canary for linux...' echo 'Downloading discord canary for linux...'
wget -q --show-progress --content-disposition "https://discordapp.com/api/download/canary?platform=linux&format=tar.gz" wget -q --show-progress --content-disposition 'https://discordapp.com/api/download/canary?platform=linux&format=tar.gz'
archive_name=$(ls *.tar.gz) archive_name="$(ls *.tar.gz)"
} }
# Asks the user if they want to remove the specified directory, and removes it if they want to. # Asks the user if they want to remove the specified directory, and removes it if they want to.
ask_remove_dir() { ask_remove_dir() {
read -p "Do you want to remove the \"$1\" directory? [y/N]" answer read -n 1 -p "Do you want to remove the \"$1\" directory? [y/N]" answer
case $answer in echo
case "$answer" in
y|Y) y|Y)
rm -r "$1" rm -r "$1"
echo "\"$1\" directory removed." echo "\"$1\" directory removed."
;; ;;
*) *)
echo "Ok, I won't remove it." echo "Ok, I won't remove it."
;;
esac esac
} }
@ -69,7 +70,7 @@ manage_dir() {
echo "The $2 directory already exist. It may contain outdated things." echo "The $2 directory already exist. It may contain outdated things."
ask_remove_dir "$1" ask_remove_dir "$1"
fi fi
mkdir -p "$work_dir" mkdir -p "$1"
} }
manage_dir "$work_dir" 'work' manage_dir "$work_dir" 'work'
@ -80,8 +81,9 @@ cd "$work_dir"
archive_name=$(ls *.tar.gz 2>/dev/null) archive_name=$(ls *.tar.gz 2>/dev/null)
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "Found $archive_name" echo "Found $archive_name"
read -p 'Do you want to use this archive instead of downloading a new one? [y/N]' answer read -n 1 -p 'Do you want to use this archive instead of downloading a new one? [y/N]' answer
case $answer in echo
case "$answer" in
y|Y) y|Y)
echo 'Ok, I will use this archive.' echo 'Ok, I will use this archive.'
;; ;;
@ -95,7 +97,7 @@ fi
# Extracts the archive # Extracts the archive
echo 'Extracting the files...' echo 'Extracting the files...'
archive_name=$(ls *.tar.gz) archive_name="$(ls *.tar.gz)"
if [ ! -d "$downloaded_dir" ]; then if [ ! -d "$downloaded_dir" ]; then
mkdir "$downloaded_dir" mkdir "$downloaded_dir"
fi fi
@ -112,6 +114,7 @@ version_number=$(echo "$archive_name" | cut -d'-' -f3 | rev | cut -c 8- | rev)
# Then, rev | cut -c 8- | rev reverse the string, removes the first 7 characters, and re-reverse it. # Then, rev | cut -c 8- | rev reverse the string, removes the first 7 characters, and re-reverse it.
# This actually removes the last 8 characters, ie the ".tar.gz" part. # This actually removes the last 8 characters, ie the ".tar.gz" part.
# So in our example we'll get version_number=0.0.10 # So in our example we'll get version_number=0.0.10
cd "$downloaded_dir" cd "$downloaded_dir"
icon_name=$(ls *.png) icon_name=$(ls *.png)
echo "Archive: $archive_name" echo "Archive: $archive_name"