Files
shell_scripts/make-brew-installer.sh
Bruno 21 44e9f61bde make-brew-installer.sh
Pour mas, ajout du nom de l’application en commentaire
2019-01-15 22:06:50 +01:00

151 lines
3.8 KiB
Bash
Executable File

#!/bin/bash
<<COMMENT
underline=`tput smul`
nounderline=`tput rmul`
bold=`tput bold`
normal=`tput sgr0`
echo "toto"
echo -e "\033[1m bold \033[0m"
echo -e "\033[3m italic \033[0m"
echo -e "\033[4m underline \033[0m"
echo -e "\033[1;3;31m Red bold+italic \033[0m"
echo -e "\033[9m strikethrough \033[0m"
echo -e "\033[31m Red World \033[0m"
echo -e "\033[93m Yellow World \033[0m"
echo -e "\033[32m Green World \033[0m"
COMMENT
brew=0
casks=0
mas=0
function usage {
cat <<EOM
Create Homebrew 's packages and Casks installed list:"
a brew-install.sh script is created next to this script..."
Usage: $(basename "$0") [OPTION]...
-b brew
-c casks
-m mas
-h display help
EOM
exit 2
}
while getopts ":bcmh-:" option; do
if [ "$option" = "-" ] ; then
case $OPTARG in
help) option=h;;
brew) option=b;;
casks) option=c;;
mas) option=m;;
*) echo "Option $OPTARG inconnue";;
esac
fi
case "$option" in
b) brew=1;;
c) casks=1;;
m) mas=1;;
h) usage;;
?) echo "Option -$OPTARG inconnue"
usage;;
esac
done
shift $((OPTIND - 1))
if [ -f brew-install.sh ]; then
echo -e "The file \033[93mbrew-install.sh\033[0m already exist! We erase it."
rm brew-install.sh
fi
echo '#!/bin/bash' >> brew-install.sh
# function for installing homebrew
echo '
installHomebrew() {
echo -e "/n Installing Homebrew"
#/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
#sudo chown -R $USER /usr/local/
#export $PATH=/usr/local/bin:$PATH
brew update
}' >> brew-install.sh
#if type xcode-select >&- && xpath=$( xcode-select --print-path ) &&
# test -d "${xpath}" && test -x "${xpath}" ; then
# #... is correctly installed
#else
# #... isn't correctly installed
#fi
# test if CLT is installed
echo '
# test if CLT is installed' >> brew-install.sh
echo '
clt=$(xcode-select --install 2>&1 | grep installed)
if [ -n "$clt" ]; then
echo "Command Line Tools (CLT) for Xcode already installed";
else
echo "Installing Command Line Tools (CLT) for Xcode";
fi' >> brew-install.sh
# test if homebrew is installed
echo '
# test if Homebrew is installed' >> brew-install.sh
echo '
if [[ $(command -v brew) == "" ]]; then
installHomebrew
else
echo "Updating Homebrew"
brew update
fi
' >> brew-install.sh
if [[ "$brew" -eq 1 ]] || [[ "$casks" -eq 1 ]] || [[ "$mas" -eq 1 ]]; then
echo -e "\n# Brew tap list.\n" >> brew-install.sh
echo -e "🍺 Get Homebrew \033[3m\033[93mtap\033[0m list"
brew tap | sed -e 's/^/brew tap /' >> brew-install.sh
fi
if [ "$brew" -eq 1 ]; then
echo -e "\n# Brew packages that I use alot.\n" >> brew-install.sh
echo -e "🍺 Get Homebrew \033[3m\033[93mpackages\033[0m installed list"
brew list | sed -e 's/^/brew install /' >> brew-install.sh
fi
if [ "$casks" -eq 1 ]; then
echo -e "\n# Some casks packages that I like.\n" >> brew-install.sh
echo -e "🍺 Get Homebrew \033[3m\033[93mCask\033[0m installed list"
brew cask list | sed -e 's/^/brew cask install /' >> brew-install.sh
fi
# https://github.com/mas-cli/mas
if [ "$mas" -eq 1 ]; then
echo -e "\n# Mac App Store applications list.\n" >> brew-install.sh
echo -e "🍏 Get Mac App Store \033[3m\033[93mapplications\033[0m list"
#mas list | awk '{print $1}' | sed -e 's/^/mas install /' >> brew-install.sh
dependencies=$(mas list)
while read -r line; do
number=$(echo "$line" | awk '{print $1}')
name=$(echo "$line" | awk -F "(" '{print $1}' | awk {'first = $1; $1=""; print $0'} | sed 's/^ //g')
echo "#$name" >> brew-install.sh
echo "mas install $number" >> brew-install.sh
echo " " >> brew-install.sh
done <<< "$dependencies"
fi
chmod +x brew-install.sh
terminal-notifier -title 'brew-list' -message 'Packages & casks list created !' -sound 'Glass'