mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 16:21:39 +00:00
new version, fixed a weak shell handler, now it shows the actual shell that inxi started in if not irc.
Also added -x option, show shell version number as well. For dash/csh, this uses a hack of getting dpkg version, which covers many users, but not all, hopefully I can find a universal way to get shell version for dash/csh
This commit is contained in:
parent
d14d9b7a23
commit
47d31be239
71
inxi
71
inxi
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
#### Script Name: inxi
|
#### Script Name: inxi
|
||||||
#### version: 1.8.23
|
#### version: 1.8.24
|
||||||
#### Date: November 19 2012
|
#### Date: December 5 2012
|
||||||
#### Patch Number: 00
|
#### Patch Number: 00
|
||||||
########################################################################
|
########################################################################
|
||||||
#### SPECIAL THANKS
|
#### SPECIAL THANKS
|
||||||
|
@ -420,9 +420,9 @@ LOG_FILE_1="$SCRIPT_DATA_DIR/inxi.1.log"
|
||||||
LOG_FILE_2="$SCRIPT_DATA_DIR/inxi.2.log"
|
LOG_FILE_2="$SCRIPT_DATA_DIR/inxi.2.log"
|
||||||
MAN_FILE_DOWNLOAD='http://inxi.googlecode.com/svn/trunk/inxi.1.gz'
|
MAN_FILE_DOWNLOAD='http://inxi.googlecode.com/svn/trunk/inxi.1.gz'
|
||||||
MAN_FILE_LOCATION='/usr/share/man/man1'
|
MAN_FILE_LOCATION='/usr/share/man/man1'
|
||||||
SCRIPT_NAME="inxi"
|
SCRIPT_NAME='inxi'
|
||||||
SCRIPT_PATCH_NUMBER=''
|
SCRIPT_PATCH_NUMBER=''
|
||||||
SCRIPT_PATH="" #filled-in in Main
|
SCRIPT_PATH='' #filled-in in Main
|
||||||
SCRIPT_VERSION_NUMBER="" #filled-in in Main
|
SCRIPT_VERSION_NUMBER="" #filled-in in Main
|
||||||
SCRIPT_DOWNLOAD='http://inxi.googlecode.com/svn/trunk/'
|
SCRIPT_DOWNLOAD='http://inxi.googlecode.com/svn/trunk/'
|
||||||
SCRIPT_DOWNLOAD_BRANCH_1='http://inxi.googlecode.com/svn/branches/one/'
|
SCRIPT_DOWNLOAD_BRANCH_1='http://inxi.googlecode.com/svn/branches/one/'
|
||||||
|
@ -2233,7 +2233,7 @@ show_options()
|
||||||
print_screen_output "-G Show Graphic card information (card, x type, resolution, glx renderer, version)."
|
print_screen_output "-G Show Graphic card information (card, x type, resolution, glx renderer, version)."
|
||||||
print_screen_output "-i Show Wan IP address, and shows local interfaces (requires ifconfig network tool). Same as -Nni"
|
print_screen_output "-i Show Wan IP address, and shows local interfaces (requires ifconfig network tool). Same as -Nni"
|
||||||
print_screen_output " Not shown with -F for user security reasons, you shouldn't paste your local/wan IP."
|
print_screen_output " Not shown with -F for user security reasons, you shouldn't paste your local/wan IP."
|
||||||
print_screen_output "-I Show Information: processes, uptime, memory, irc client, inxi version."
|
print_screen_output "-I Show Information: processes, uptime, memory, irc client (or shell type), inxi version."
|
||||||
print_screen_output "-l Show partition labels. Default: short partition -P. For full -p output, use: -pl (or -plu)."
|
print_screen_output "-l Show partition labels. Default: short partition -P. For full -p output, use: -pl (or -plu)."
|
||||||
print_screen_output "-M Show machine data. Motherboard, Bios, and if present, System Builder (Like Lenovo)."
|
print_screen_output "-M Show machine data. Motherboard, Bios, and if present, System Builder (Like Lenovo)."
|
||||||
print_screen_output " Older systems/kernels without the required /sys data can use dmidecode instead, run as root."
|
print_screen_output " Older systems/kernels without the required /sys data can use dmidecode instead, run as root."
|
||||||
|
@ -2277,6 +2277,7 @@ show_options()
|
||||||
print_screen_output " -G - (for single gpu, nvidia driver) screen number gpu is running on."
|
print_screen_output " -G - (for single gpu, nvidia driver) screen number gpu is running on."
|
||||||
print_screen_output " -i - Show IPv6 as well for LAN interface (IF) devices."
|
print_screen_output " -i - Show IPv6 as well for LAN interface (IF) devices."
|
||||||
print_screen_output " -I - Show system GCC, default. With -xx, also show other installed GCC versions."
|
print_screen_output " -I - Show system GCC, default. With -xx, also show other installed GCC versions."
|
||||||
|
print_screen_output " - If running in console, not in IRC client, shows shell version number if detected."
|
||||||
print_screen_output " -N -A - Adds version/port(s)/driver version (if available) for Network/Audio;"
|
print_screen_output " -N -A - Adds version/port(s)/driver version (if available) for Network/Audio;"
|
||||||
print_screen_output " -N -A -G - Network, audio, graphics, shows PCI Bus ID/Usb ID number of card;"
|
print_screen_output " -N -A -G - Network, audio, graphics, shows PCI Bus ID/Usb ID number of card;"
|
||||||
print_screen_output " -R - Shows component raid id. Adds second RAID Info line: raid level; report on drives (like 5/5);"
|
print_screen_output " -R - Shows component raid id. Adds second RAID Info line: raid level; report on drives (like 5/5);"
|
||||||
|
@ -3479,7 +3480,7 @@ get_desktop_environment()
|
||||||
}
|
}
|
||||||
|
|
||||||
# note: gawk doesn't support white spaces in search string, gave errors, so use [[:space:]] instead
|
# note: gawk doesn't support white spaces in search string, gave errors, so use [[:space:]] instead
|
||||||
# args: $1 - desktop command for --version; $2 - search string; $3 - gawk print number
|
# args: $1 - desktop/app command for --version; $2 - search string; $3 - gawk print number
|
||||||
get_de_app_version()
|
get_de_app_version()
|
||||||
{
|
{
|
||||||
local version_data='' version='' get_version='--version'
|
local version_data='' version='' get_version='--version'
|
||||||
|
@ -3490,11 +3491,18 @@ get_de_app_version()
|
||||||
get_version='-v'
|
get_version='-v'
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# note, some wm send version info to stderr instead of stdout
|
|
||||||
case $1 in
|
case $1 in
|
||||||
dwm|scrotwm)
|
# note, some wm/apps send version info to stderr instead of stdout
|
||||||
|
dwm|ksh|scrotwm)
|
||||||
version_data="$( $1 $get_version 2>&1 )"
|
version_data="$( $1 $get_version 2>&1 )"
|
||||||
;;
|
;;
|
||||||
|
# quick debian/buntu hack until I find a universal way to get version for these
|
||||||
|
csh|dash)
|
||||||
|
if [[ -n $( type -p dpkg ) ]];then
|
||||||
|
version_data="$( dpkg -l $1 2>/dev/null )"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
version_data="$( $1 $get_version 2>/dev/null )"
|
version_data="$( $1 $get_version 2>/dev/null )"
|
||||||
;;
|
;;
|
||||||
|
@ -6508,6 +6516,44 @@ get_sensors_output()
|
||||||
echo -e "$sensors_data"
|
echo -e "$sensors_data"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_shell_data()
|
||||||
|
{
|
||||||
|
eval $LOGFS
|
||||||
|
|
||||||
|
local shell_type="$( ps -p $PPID -o comm= 2>/dev/null )"
|
||||||
|
local shell_version=''
|
||||||
|
|
||||||
|
if [[ $B_EXTRA_DATA == 'true' && -n $shell_type ]];then
|
||||||
|
case $shell_type in
|
||||||
|
bash)
|
||||||
|
shell_version=$( get_de_app_version "$shell_type" "^GNU[[:space:]]bash,[[:space:]]version" "4" | sed -E 's/(\(.*|-release|-version)//' )
|
||||||
|
;;
|
||||||
|
# csh/dash use dpkg package version data, debian/buntu only
|
||||||
|
csh)
|
||||||
|
shell_version=$( get_de_app_version "$shell_type" "$shell_type" "3" )
|
||||||
|
;;
|
||||||
|
dash)
|
||||||
|
shell_version=$( get_de_app_version "$shell_type" "$shell_type" "3" )
|
||||||
|
;;
|
||||||
|
ksh)
|
||||||
|
shell_version=$( get_de_app_version "$shell_type" "version" "5" )
|
||||||
|
;;
|
||||||
|
tcsh)
|
||||||
|
shell_version=$( get_de_app_version "$shell_type" "^tcsh" "2" )
|
||||||
|
;;
|
||||||
|
zsh)
|
||||||
|
shell_version=$( get_de_app_version "$shell_type" "^zsh" "2" )
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if [[ -n $shell_version ]];then
|
||||||
|
shell_type="$shell_type $shell_version"
|
||||||
|
fi
|
||||||
|
echo $shell_type
|
||||||
|
|
||||||
|
eval $LOGFS
|
||||||
|
}
|
||||||
|
|
||||||
get_unmounted_partition_data()
|
get_unmounted_partition_data()
|
||||||
{
|
{
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
|
@ -7416,7 +7462,7 @@ print_info_data()
|
||||||
eval $LOGFS
|
eval $LOGFS
|
||||||
|
|
||||||
local info_data='' line_starter='Info:'
|
local info_data='' line_starter='Info:'
|
||||||
local runlvl='' client_data=''
|
local runlvl='' client_data='' shell_data=''
|
||||||
local memory="$( get_memory_data )"
|
local memory="$( get_memory_data )"
|
||||||
local processes="$(( $( ps aux | wc -l ) - 1 ))"
|
local processes="$(( $( ps aux | wc -l ) - 1 ))"
|
||||||
local up_time="$( get_uptime )"
|
local up_time="$( get_uptime )"
|
||||||
|
@ -7437,8 +7483,11 @@ print_info_data()
|
||||||
gcc_installed="${C1}Gcc sys$SEP3${C2} $gcc_installed$gcc_others "
|
gcc_installed="${C1}Gcc sys$SEP3${C2} $gcc_installed$gcc_others "
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ $B_RUNNING_IN_SHELL == 'true' && -n $SHELL ]];then
|
if [[ $B_RUNNING_IN_SHELL == 'true' ]];then
|
||||||
IRC_CLIENT="$IRC_CLIENT ($( basename $SHELL ))"
|
shell_data=$( get_shell_data )
|
||||||
|
if [[ -n $shell_data ]];then
|
||||||
|
IRC_CLIENT="$IRC_CLIENT ($shell_data)"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Some code could look superfluous but BitchX doesn't like lines not ending in a newline. F*&k that bitch!
|
# Some code could look superfluous but BitchX doesn't like lines not ending in a newline. F*&k that bitch!
|
||||||
|
|
7
inxi.1
7
inxi.1
|
@ -1,4 +1,4 @@
|
||||||
.TH INXI 1 "2012-10-19" inxi "inxi manual"
|
.TH INXI 1 "2012-12-05" inxi "inxi manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
inxi - Command line system information script for console and IRC
|
inxi - Command line system information script for console and IRC
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ Same as -Nni. Not shown with \fB-F\fR for user security reasons, you shouldn't
|
||||||
paste your local/wan IP.
|
paste your local/wan IP.
|
||||||
.TP
|
.TP
|
||||||
.B -I
|
.B -I
|
||||||
Show Information: processes, uptime, memory, irc client, inxi version.
|
Show Information: processes, uptime, memory, irc client (or shell type if run in shell, not irc), inxi version.
|
||||||
.TP
|
.TP
|
||||||
.B -l
|
.B -l
|
||||||
Show partition labels. Default: short partition \fB-P\fR. For full \fB-p\fR output, use: \fB-pl\fR (or \fB-plu\fR).
|
Show partition labels. Default: short partition \fB-P\fR. For full \fB-p\fR output, use: \fB-pl\fR (or \fB-plu\fR).
|
||||||
|
@ -297,7 +297,8 @@ The following shows which lines / items get extra information with each extra da
|
||||||
- Show IPv6 as well for LAN interface (IF) devices.
|
- Show IPv6 as well for LAN interface (IF) devices.
|
||||||
.TP
|
.TP
|
||||||
.B -x -I
|
.B -x -I
|
||||||
- Show system GCC, default. With -xx, also show other installed GCC versions.
|
- Show system GCC, default. With -xx, also show other installed GCC versions. If in shell (not in IRC client, that is),
|
||||||
|
show shell version number (if available).
|
||||||
.TP
|
.TP
|
||||||
.B -x -N
|
.B -x -N
|
||||||
- Adds version/port(s)/driver version (if available) for each Network card;
|
- Adds version/port(s)/driver version (if available) for each Network card;
|
||||||
|
|
Loading…
Reference in a new issue