#!/bin/sh -e # # release: grab the os/distro release # # Copyright (C) 2008 Canonical Ltd. # Copyright (C) 2011 Dustin Kirkland # # Authors: Dustin Kirkland # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . __release_detail() { lsb_release -a 2>/dev/null } __release() { local DISTRO="${DISTRO}" issue ver r i if [ -n "$DISTRO" ]; then # user defined true elif [ -r "/etc/issue" ]; then # lsb_release is *really* slow; try to use /etc/issue first read issue < /etc/issue case "$issue" in Ubuntu*) set -- $issue; DISTRO="$1 $2"; ;; Debian*) read ver < /etc/debian_version DISTRO="Debian $ver" ;; *) # assume first 2 fields are what we want set -- $issue; DISTRO="$1 $2"; ;; esac elif command -v lsb_release >/dev/null 2>&1; then # If lsb_release is available, use it r=$(lsb_release -s -d) case "$r" in Ubuntu*.*.*) # Use the -d if an Ubuntu LTS DISTRO="$r" ;; *) # But for other distros the description # is too long, so build from -i and -r i=$(lsb_release -s -i) r=$(lsb_release -s -r) DISTRO="$i $r" ;; esac else DISTRO="Byobu" fi color bold2; printf "%s" "$DISTRO"; color -- } # vi: syntax=sh ts=4 noexpandtab