-
-
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!" |
Thanks! Works great on Fedora 7!
wget -O /etc/yum.repos.d/sublime2.repo http://repo.cloudhike.com/sublime2/fedora/sublime2.repo
yum -y install sublime-text
@xtranophilist and theeeeen? How to fire it up? Maybe provide a liiiitle more information would be nice :)
On fedora 18 in virtualbox VM on Mac OSX, first tried method of @xtranophilist: don't know where it's installed or how to fire it up... Then tried the shell script, that worked, also got an icon in activities, but when i click it, nothing happens. So, i'll download the tar from sublime text 2 site (which i should've done first anyway) and check if 'just' unzipping that works :)
if you install from the script, sublime will be installed at "/usr/local/sublime-text-2"
if from the repo then sublime will install itself at "/usr/local/sublime-text/" !!
the first doesn't work for me (fedora18), neither is the menu link, the second approach does!
it puts the "sublime" executable into your PATH (/usr/bin ) so you can start it from command.
@michahell
as @nvurgaft said, you can launch sublime
from anywhere since it's in your path (/bin/sublime
).
Also, I can see Sublime2
under Applications in Gnome.
thanks!! very useful.
awesome! Thx!
Works great on Fedora 18 tnx
Fedora 19 beta checking in. Thanks!
In my case, to enable command line use, the contents of /usr/bin/sublime/
should be:
if [ "${1}" == "--help" ]; then
/usr/local/sublime-text-2/sublime_text --help
else
/usr/local/sublime-text-2/sublime_text $@ > /dev/null 2>&1 &
fi
and I'm in fedora 18.
Hope for some use.
Works perfectly with final Fedora 19 beta; thank you!
On Fedora 19 here, I made a different script based on this one: https://gist.github.com/storrgie/5799669
Thanks!! Works great on Fedora 19.
However, you might wanna add an extra line at the end to insert a symbolic link the application at /usr/bin
to enable terminal shortcut as follows:
ln -s /usr/local/sublime-text-2/sublime_text /usr/bin/sublime-text
An example can be found at this fork: https://gist.github.com/sayak-sarkar/5810101
Thanks! Works great!!!
I just needed to change the SCRIPT var a little bit, adding quotes in $1 parameter, cause when I call "subl" without a path specified as a parameter gave me a error:
/usr/local/bin/subl: line 2: [: =: unary operator expected
SCRIPT="#!/bin/sh
if [ \"\${1}\" == \"--help\" ]; then
/usr/local/sublime-text-2/sublime_text --help
else
/usr/local/sublime-text-2/sublime_text \$@ > /dev/null 2>&1 &
fi"
The link should be updated to the new version:
http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2%20x64.tar.bz2
Works like a charm. Had to modify it a bit, I already installed sublime in /opt
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 nice, thanks.