-
-
Save henriquemoody/3288681 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash | |
# Usage: {script} [ OPTIONS ] TARGET VERSION | |
# | |
# TARGET Default target is "/usr/local". | |
# VERSION If not defined tries to get the build into the Sublime Text 2 website. | |
# | |
# OPTIONS | |
# | |
# -h, --help Displays this help message. | |
# | |
# Report bugs to Henrique Moody <[email protected]> | |
# | |
set -e | |
if [[ "${1}" = '-h' ]] || [[ "${1}" = '--help' ]]; then | |
sed -E 's/^#\s?(.*)/\1/g' "${0}" | | |
sed -nE '/^Usage/,/^Report/p' | | |
sed "s/{script}/$(basename "${0}")/g" | |
exit | |
fi | |
declare URL | |
declare URL_FORMAT="http://c758482.r82.cf2.rackcdn.com/%s.tar.bz2" | |
declare PACKAGE="Sublime Text" | |
declare TARGET="${1:-/usr/local}" | |
declare VERSION="${2}" | |
declare BITS=$(uname -m) | |
if [[ -z "${VERSION}" ]]; then | |
VERSION=$( | |
curl -Ls http://www.sublimetext.com/2 | | |
grep '<h2>Version' | | |
head -n1 | | |
sed -E 's#<h2>Version ([0-9.]+)</h2>#\1#g' | |
) | |
fi | |
PACKAGE+=" ${VERSION}" | |
if [[ "${BITS}" = "x86_64" ]]; then | |
PACKAGE+=" x64" | |
fi | |
URL=$(printf "${URL_FORMAT}" "${PACKAGE}" | sed 's/ /%20/g') | |
read -p "Do you really want to install \"${PACKAGE}\" on \"${TARGET}\"? [Y/n]: " CONFIRM | |
CONFIRM=$(echo "${CONFIRM}" | tr [a-z] [A-Z]) | |
if [[ "${CONFIRM}" = 'N' ]] || [[ "${CONFIRM}" = 'NO' ]]; then | |
echo "Aborted!" | |
exit | |
fi | |
echo "Downloading ${PACKAGE}" | |
curl -L "${URL}" | tar -xjC ${TARGET} | |
echo "Creating binary file" | |
cat > ${TARGET}/bin/subl <<SCRIPT | |
#!/bin/sh | |
if [ \${1} == \"--help\" ]; then | |
${TARGET}/sublime_text_3/sublime_text --help | |
else | |
${TARGET}/sublime_text_3/sublime_text \$@ > /dev/null 2>&1 & | |
fi | |
SCRIPT | |
echo "Creating shortcut file" | |
cat > "/usr/share/applications/sublime-text-2.desktop" <<SHORTCUT | |
[Desktop Entry] | |
Name=Sublime Text 2 | |
Comment=Edit text files | |
Exec=/usr/local/sublime-text-2/sublime_text | |
Icon=/usr/local/sublime-text-2/Icon/128x128/sublime_text.png | |
Terminal=false | |
Type=Application | |
Encoding=UTF-8 | |
Categories=Utility;TextEditor; | |
SHORTCUT | |
echo "Finish!" |
#!/usr/bin/env bash | |
# Usage: {script} [ OPTIONS ] TARGET BUILD | |
# | |
# TARGET Default target is "/usr/local". | |
# BUILD If not defined tries to get the build into the Sublime Text 3 website. | |
# | |
# OPTIONS | |
# | |
# -h, --help Displays this help message. | |
# | |
# Report bugs to Henrique Moody <[email protected]> | |
# | |
set -e | |
if [[ "${1}" = '-h' ]] || [[ "${1}" = '--help' ]]; then | |
sed -E 's/^#\s?(.*)/\1/g' "${0}" | | |
sed -nE '/^Usage/,/^Report/p' | | |
sed "s/{script}/$(basename "${0}")/g" | |
exit | |
fi | |
declare URL | |
declare URL_FORMAT="http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_%d_x%d.tar.bz2" | |
declare TARGET="${1:-/usr/local}" | |
declare BUILD="${2}" | |
declare BITS | |
if [[ -z "${BUILD}" ]]; then | |
BUILD=$( | |
curl -Ls http://www.sublimetext.com/3 | | |
grep '<h2>Build' | | |
head -n1 | | |
sed -E 's#<h2>Build ([0-9]+)</h2>#\1#g' | |
) | |
fi | |
if [[ "$(uname -m)" = "x86_64" ]]; then | |
BITS=64 | |
else | |
BITS=32 | |
fi | |
URL=$(printf "${URL_FORMAT}" "${BUILD}" "${BITS}") | |
read -p "Do you really want to install Sublime Text 3 (Build ${BUILD}, x${BITS}) on \"${TARGET}\"? [Y/n]: " CONFIRM | |
CONFIRM=$(echo "${CONFIRM}" | tr [a-z] [A-Z]) | |
if [[ "${CONFIRM}" = 'N' ]] || [[ "${CONFIRM}" = 'NO' ]]; then | |
echo "Aborted!" | |
exit | |
fi | |
echo "Downloading Sublime Text 3" | |
curl -L "${URL}" | tar -xjC ${TARGET} | |
echo "Creating shortcut file" | |
cat ${TARGET}/sublime_text_3/sublime_text.desktop | | |
sed "s#/opt#${TARGET}#g" | | |
cat > "/usr/share/applications/sublime_text.desktop" | |
echo "Creating binary file" | |
cat > ${TARGET}/bin/subl <<SCRIPT | |
#!/bin/sh | |
if [ \${1} == \"--help\" ]; then | |
${TARGET}/sublime_text_3/sublime_text --help | |
else | |
${TARGET}/sublime_text_3/sublime_text \$@ > /dev/null 2>&1 & | |
fi | |
SCRIPT | |
echo "Finish!" |
Awesome work !!!
for sublime beta 3 modified script.
_
!/bin/sh
SHORTCUT="[Desktop Entry]
Name=Sublime Text 3
Comment=Edit text files
Exec=/usr/local/sublime-text_3/sublime_text
Icon=/usr/local/sublime-text_3/Icon/128x128/sublime_text.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Utility;TextEditor;"
SCRIPT="#!/bin/sh
if [ ${1} == "--help" ]; then
/usr/local/sublime-text_3/sublime_text --help
else
/usr/local/sublime-text_3/sublime_text $@ > /dev/null 2>&1 &
fi"
curl -L "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3047_x64.tar.bz2" -o "/usr/src/Sublime Text 3.tar.bz2"
cd /usr/src
tar -xvjf "Sublime Text 3.tar.bz2"
cd "sublime_text_3"
mkdir -pv "/usr/local/sublime-text_3"
mv -fv * "/usr/local/sublime-text_3/"
echo "${SCRIPT}" > "/usr/local/bin/subl"
chmod +x "/usr/local/bin/subl"
echo "${SHORTCUT}" > "/usr/share/applications/sublime-text_3.desktop"
echo "Finish!"
Works perfectly. I just get one error when starting sublime:
"/usr/local/bin/subl: 2: [: ==: unexpected operator"
Any idea where this unexpected operator comes from?
I installed on Ubuntu 13.04, 32bit.
Strongground, this should work without error
!/bin/sh
SHORTCUT="[Desktop Entry]
Name=Sublime Text 3
Comment=Edit text files
Exec=/usr/local/sublime-text_3/sublime_text
Icon=/usr/local/sublime-text_3/Icon/128x128/sublime_text.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Utility;TextEditor;"
SCRIPT="#!/bin/sh
/usr/local/sublime-text_3/sublime_text $@ > /dev/null 2>&1 &
curl -L "http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3047_x64.tar.bz2" -o "/usr/src/Sublime Text 3.tar.bz2"
cd /usr/src
tar -xvjf "Sublime Text 3.tar.bz2"
cd "sublime_text_3"
mkdir -pv "/usr/local/sublime-text_3"
mv -fv * "/usr/local/sublime-text_3/"
echo "${SCRIPT}" > "/usr/local/bin/subl"
chmod +x "/usr/local/bin/subl"
echo "${SHORTCUT}" > "/usr/share/applications/sublime-text_3.desktop"
echo "Finish!"
I like the repo mentioned above:
wget -O /etc/yum.repos.d/sublime2.repo http://repo.cloudhike.com/sublime2/fedora/sublime2.repo
yum -y install sublime-text
Sadly, though the repo doesn't seemed to be maintained anymore. The newest build is a year old, and the newest Fedora versions supported is also a year old...
I can't see the Sublime icon under Applications after running this script. How do I fix this?
@uccmen you need to update the Icon path in the sublime_text.desktop
file. Icons are under the /opt/sublime_text/Icon
folder (assuming you have installed it there).
Guys, if you need to install Sublime Text 3 in other Linux distros, try this script:
https://gist.github.com/simonewebdesign/8507139
really nice, works like a charm for me too ..
Thanks guys (Y)
Hey, you need to update the download site https://download.sublimetext.com/sublime_text_3_build_3103_x32.tar.bz2
Works like a charm. Had to modify it a bit, I already installed sublime in /opt