%PDF- %PDF-
Direktori : /bin/ |
Current File : //bin/lsb_release |
#!/bin/sh # SPDX-FileCopyrightText: 2021-2022 Gioele Barabucci # SPDX-License-Identifier: ISC set -eu export LC_ALL="C.UTF-8" help () { cat <<-EOD Usage: lsb_release [options] Options: -h, --help show this help message and exit -v, --version show LSB modules this system supports -i, --id show distributor ID -d, --description show description of this distribution -r, --release show release number of this distribution -c, --codename show code name of this distribution -a, --all show all of the above information -s, --short show requested information in short format EOD exit } show_id=false show_desc=false show_release=false show_codename=false short_format=false options=$(getopt --name lsb_release -o hvidrcas -l help,version,id,description,release,codename,all,short -- "$@") || exit 2 eval set -- "$options" while [ $# -gt 0 ] ; do case "$1" in -h|--help) help ;; -v|--version) ;; -i|--id) show_id=true ;; -d|--description) show_desc=true ;; -r|--release) show_release=true ;; -c|--codename) show_codename=true ;; -a|--all) show_id=true ; show_desc=true ; show_release=true ; show_codename=true ;; -s|--short) short_format=true ;; *) break ;; esac shift done display_line () { label="$1" value="$2" if $short_format ; then printf "%s\n" "$value" else printf "%s:\t%s\n" "$label" "$value" fi } # Load release info from standard identification data files [ -f /usr/lib/os-release ] && os_release=/usr/lib/os-release [ -f /etc/os-release ] && os_release=/etc/os-release [ "${LSB_OS_RELEASE-x}" != "x" ] && [ -f "$LSB_OS_RELEASE" ] && os_release="$LSB_OS_RELEASE" [ "${os_release-x}" != "x" ] && . "$os_release" # Mimic the output of Debian's Python-based lsb_release # Capitalize ID : "${ID=}" ID="$(printf "%s" "$ID" | cut -c1 | tr '[:lower:]' '[:upper:]')$(printf "%s" "$ID" | cut -c2-)" # Use NAME if set and different from ID only in capitalization. if [ "${NAME-x}" != "x" ] ; then lower_case_id=$(printf "%s" "$ID" | tr '[:upper:]' '[:lower:]') lower_case_name=$(printf "%s" "$NAME" | tr '[:upper:]' '[:lower:]') if [ "${lower_case_id}" = "${lower_case_name}" ] ; then ID="$NAME" fi fi # Generate minimal standard-conform output (if stdout is a TTY). [ -t 1 ] && echo "No LSB modules are available." >& 2 if $show_id ; then display_line "Distributor ID" "${ID:-n/a}" fi if $show_desc ; then display_line "Description" "${PRETTY_NAME:-n/a}" fi if $show_release ; then display_line "Release" "${VERSION_ID:-n/a}" fi if $show_codename ; then display_line "Codename" "${VERSION_CODENAME:-n/a}" fi