Искусство программирования на языке сценариев командной оболочки




Программирование на языке сценариев командной оболочки - стр. 345


function my_ip() # IP адрес { MY_IP=$(/sbin/ifconfig ppp0 | awk '/inet/ { print $2 } ' | sed -e s/addr://) MY_ISP=$(/sbin/ifconfig ppp0 | awk '/P-t-P/ { print $3 } ' | sed -e s/P-t-P://) }

function ii() # Дополнительные сведения о системе { echo -e "\nВы находитесь на ${RED}$HOST" echo -e "\nДополнительная информация:$NC " ; uname -a echo -e "\n${RED}В системе работают пользователи:$NC " ; w -h echo -e "\n${RED}Дата:$NC " ; date echo -e "\n${RED}Время, прошедшее с момента последней перезагрузки :$NC " ; uptime echo -e "\n${RED}Память :$NC " ; free my_ip 2>&- ; echo -e "\n${RED}IP адрес:$NC" ; echo ${MY_IP:-"Соединение не установлено"} echo -e "\n${RED}Адрес провайдера (ISP):$NC" ; echo ${MY_ISP:-"Соединение не установлено"} echo }

# Разные утилиты:

function repeat() # повторить команду n раз { local i max max=$1; shift; for ((i=1; i <= max ; i++)); do # --> C-подобный синтаксис eval "$@"; done }

function ask() { echo -n "$@" '[y/n] ' ; read ans case "$ans" in y*|Y*) return 0 ;; *) return 1 ;; esac }

#========================================================================= # # ПРОГРАММНЫЕ ДОПОЛНЕНИЯ - ТОЛЬКО НАЧИНАЯ С ВЕРСИИ BASH-2.04 # Большая часть дополнений взята из докуентации к bash 2.05 и из # пакета 'Bash completion' (http://www.caliban.org/bash/index.shtml#completion) # автор -- Ian McDonalds # Фактически, у вас должен стоять bash-2.05a # #=========================================================================

if [ "${BASH_VERSION%.*}" \< "2.05" ]; then echo "Вам необходимо обновиться до версии 2.05" return fi

shopt -s extglob # необходимо set +o nounset # иначе некоторые дополнения не будут работать

complete -A hostname rsh rcp telnet rlogin r ftp ping disk complete -A export printenv complete -A variable export local readonly unset complete -A enabled builtin complete -A alias alias unalias complete -A function function complete -A user su mail finger




Содержание  Назад  Вперед