#!/bin/sh -e # # users: print the number of remote users on the machine # # Copyright (C) 2009 Raphaël Pinson. # Copyright (C) 2009 Canonical Ltd. # Copyright (C) 2011-2014 Dustin Kirkland # # Authors: Raphaël Pinson # 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 . __users_detail() { ps -ef | grep "sshd:.*@" | grep -v grep } __users() { local count=0 if [ "$USERS_DISTINCT" = "1" ]; then count=$(pgrep -fl 'sshd:.*@' | cut -f3 -d\ | cut -f1 -d@ | sort -u | wc -l) else # Note: we'd like to use pgrep -c, however, this isn't available in # busybox and some distro's pgrep (and it doesn't exit non-zero). count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l) || return fi if [ $count -gt 0 ]; then color b w r; printf "%d" "$count"; color -; color w r; printf "#"; color -- else rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/users"* fi } # vi: syntax=sh ts=4 noexpandtab