Чтение онлайн

на главную - закладки

Жанры

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

Купер Мендель

Шрифт:

# Usenet (или Интернет).

# Этот файл содержит слишком много определений -- помните, это всего лишь пример.

#

#

#===============================================================

# --> Комментарии, добавленные автором HOWTO.

# --> И дополнены автором сценария Emmanuel Rouat :-)

#-----------------------------------

# Глобальные определения

#-----------------------------------

if [ -f /etc/bashrc ]; then

. /etc/bashrc # -->

Прочитать настройки из /etc/bashrc, если таковой имеется.

fi

#-------------------------------------------------------------

# Настройка переменной $DISPLAY (если еще не установлена)

# Это срабатывает под linux - в вашем случае все может быть по другому....

# Проблема в том, что различные типы терминалов

# дают разные ответы на запрос 'who am i'......

# я не нашел 'универсального' метода

#-------------------------------------------------------------

function get_xserver

{

case $TERM in

xterm )

XSERVER=$(who am i | awk '{print $NF}' | tr -d ')''(' )

XSERVER=${XSERVER%%:*}

;;

aterm | rxvt)

# добавьте здесь свой код.....

;;

esac

}

if [ -z ${DISPLAY:=""} ]; then

get_xserver

if [[ -z ${XSERVER} || ${XSERVER} == $(hostname) || ${XSERVER} == "unix" ]]; then

DISPLAY=":0.0" # для локального хоста

else

DISPLAY=${XSERVER}:0.0 # для удаленного хоста

fi

fi

export DISPLAY

#---------------

# Некоторые настройки

#---------------

ulimit -S -c 0 # Запрет на создание файлов coredump

set -o notify

set -o noclobber

set -o ignoreeof

set -o nounset

#set -o xtrace # полезно для отладки

# Разрешающие настройки:

shopt -s cdspell

shopt -s cdable_vars

shopt -s checkhash

shopt -s checkwinsize

shopt -s mailwarn

shopt -s sourcepath

shopt -s no_empty_cmd_completion # только для bash>=2.04

shopt -s cmdhist

shopt -s histappend histreedit histverify

shopt -s extglob

# Запрещающие настройки:

shopt -u mailwarn

unset MAILCHECK # Я не желаю, чтобы командная оболочка сообщала мне о прибытии почты

export TIMEFORMAT=$'\nreal %3R\tuser %3U\tsys %3S\tpcpu %P\n'

export HISTIGNORE="&:bg:fg:ll:h"

export HOSTFILE=$HOME/.hosts # Поместить список удаленных хостов в файл ~/.hosts

#-----------------------

# Greeting, motd etc...

#-----------------------

#

Для начала определить некоторые цвета:

red='\e[0;31m'

RED='\e[1;31m'

blue='\e[0;34m'

BLUE='\e[1;34m'

cyan='\e[0;36m'

CYAN='\e[1;36m'

NC='\e[0m' # No Color (нет цвета)

# --> Прекрасно. Имеет тот же эффект, что и "ansi.sys" в DOS.

# Лучше выглядит на черном фоне.....

echo -e "${CYAN}This is BASH ${RED}${BASH_VERSION%.*}${CYAN} - DISPLAY on ${RED}$DISPLAY${NC}\n"

date

if [ -x /usr/games/fortune ]; then

/usr/games/fortune -s # сделает наш день более интересным.... :-)

fi

function _exit # функция, запускающаяся при выходе из оболочки

{

echo -e "${RED}Аста ла виста, бэби ${NC}"

}

trap _exit EXIT

#---------------

# Prompt

#---------------

if [[ "${DISPLAY#$HOST}" != ":0.0" && "${DISPLAY}" != ":0" ]]; then

HILIT=${red} # на удаленной системе: prompt будет частично красным

else

HILIT=${cyan} # на локальной системе: prompt будет частично циановым

fi

# --> Замените \W на \w в функциях ниже

#+ --> чтобы видеть в оболочке полный путь к текущему каталогу.

function fastprompt

{

unset PROMPT_COMMAND

case $TERM in

*term | rxvt )

PS1="${HILIT}[\h]$NC \W > \[\033]0;\${TERM} [\u@\h] \w\007\]" ;;

linux )

PS1="${HILIT}[\h]$NC \W > " ;;

*)

PS1="[\h] \W > " ;;

esac

}

function powerprompt

{

_powerprompt

{

LOAD=$(uptime|sed -e "s/.*: \([^,]*\).*/\1/" -e "s/ //g")

}

PROMPT_COMMAND=_powerprompt

case $TERM in

*term | rxvt )

PS1="${HILIT}[\A \$LOAD]$NC\n[\h \#] \W > \[\033]0;\${TERM} [\u@\h] \w\007\]" ;;

linux )

PS1="${HILIT}[\A - \$LOAD]$NC\n[\h \#] \w > " ;;

* )

PS1="[\A - \$LOAD]\n[\h \#] \w > " ;;

esac

}

powerprompt # это prompt по-умолчанию - может работать довольно медленно

# Если это так, то используйте fastprompt....

#===============================================================

#

# ПСЕВДОНИМЫ И ФУНКЦИИ

#

# Возможно некоторые из функций, приведенных здесь, окажутся для вас слишком большими,

Поделиться:
Популярные книги

Стеллар. Трибут

Прокофьев Роман Юрьевич
2. Стеллар
Фантастика:
боевая фантастика
рпг
8.75
рейтинг книги
Стеллар. Трибут

Маглор. Трилогия

Чиркова Вера Андреевна
Маглор
Фантастика:
фэнтези
9.14
рейтинг книги
Маглор. Трилогия

Дурная жена неверного дракона

Ганова Алиса
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дурная жена неверного дракона

30 сребреников

Распопов Дмитрий Викторович
1. 30 сребреников
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
30 сребреников

Жена проклятого некроманта

Рахманова Диана
Фантастика:
фэнтези
6.60
рейтинг книги
Жена проклятого некроманта

Всадник Системы

Poul ezh
2. Пехотинец Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Всадник Системы

Черный дембель. Часть 5

Федин Андрей Анатольевич
5. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 5

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Измена. Право на любовь

Арская Арина
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на любовь

Тайны затерянных звезд. Том 2

Лекс Эл
2. Тайны затерянных звезд
Фантастика:
боевая фантастика
космическая фантастика
космоопера
фэнтези
5.00
рейтинг книги
Тайны затерянных звезд. Том 2

Как я строил магическую империю 6

Зубов Константин
6. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 6

Поющие в терновнике

Маккалоу Колин
Любовные романы:
современные любовные романы
9.56
рейтинг книги
Поющие в терновнике

Мятежник

Прокофьев Роман Юрьевич
4. Стеллар
Фантастика:
боевая фантастика
7.39
рейтинг книги
Мятежник

Наследие Маозари 7

Панежин Евгений
7. Наследие Маозари
Фантастика:
боевая фантастика
юмористическое фэнтези
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 7