Видео смотреть бесплатно

Смотреть русский видео

Официальный сайт toppromotion 24/7/365

Смотреть видео бесплатно

exelens 18.09.2009 07:33

Tips & tricksДобавь чуть чуть кавая своей консоли

1
PS1="\`if < \$? = 0 >; then echo \<\e<33m\>^_^\<\e<0m\>; else echo \<\e<31m\>O_O\<\e<0m\>; fi\`<\u@\h:\w>\\$ "





Было

1
<lol>$</lol>





Стало

1
^_^<lol>$</lol>







Понравилось?

Сохрани настройку в ~/.bashrc


Тэги: bash Linux
+ 2 -
Похожие Поделиться

renya 18.09.2009 07:57 #
+ 2 -
:D лол .. кавайный $PS1
exelens 18.09.2009 08:00 #
+ 0 -
Мне в почту прислали =)
mirivlad 18.09.2009 08:18 #
+ 1 -
у меня на работе так сделано ^_^
muhas 18.09.2009 09:07 #
+ 3 -
Из моего zshrc кусочек
%(?,%{\e<0;32m%}:%)%{\e<0m%},%{\e<0;31m%}:(%{\e<0m%}
когда гуд показывает зеленый смайлик :) когда не гуд красноватый :(

Cделан у мну в RPROMPT="%(?,%{\e<0;32m%}:%)%{\e<0m%},%{\e<0;31m%}:(%{\e<0m%}" т.е. показывается в правам приглашении zsh (их там два, одно слева как у баш, другое с правого края строки). Если не лень и считаешь нужным добавь в пост
shidoh 18.09.2009 09:54 #
+ 0 -
у меня просто код возвращает типа
0$
255$
и т.д.
muhas 18.09.2009 11:06 #
+ 0 -
Просто $? добавлено?
так не интересно, никакого кавая =) хотя для отладки скриптов иногда полезно видеть код выхода (правда вряд ли кто-то их постоянно отлаживает, поэтому лично мне хватает echo $? по необходимости, или в скриптах echo "ты накосячил в строке такой-то")
shidoh 18.09.2009 15:15 #
+ 0 -
ну да..кавай решает ^_^
or10n 18.09.2009 12:53 #
+ 1 -
использую убунту, давно хочу сделать, что бы при загрузке и при остальных операциях, удачное завершение выделялось зеленым цветом ( < OK > ), а неудачное красным ( < FAIL > вроде), ну например как в генте, альт-линухе и т.п.
В убенте-дебиане оно такого цвета как и консоль.

может быть кто нить, что нить посоветует :)
Iliander 18.09.2009 15:17 #
+ 2 -
Arch linux.


iliander /sbin % head -n5 /etc/rc.d/dropboxd
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions



iliander /sbin % cat /etc/rc.d/functions
#
# initscripts functions
#

# width:

STAT_COL=80
if < -t 1 >; then
# stty will fail when stdin isn't a terminal (but we're in this block, so stdout is)
if < -t 0 >; then
STAT_COL="$(/bin/stty size)"
# stty gives "rows cols"; strip the rows number, we just want columns
STAT_COL="${STAT_COL##* }"
else
# tput will fail at boot time if /usr/share/terminfo isn't yet mounted
# or TERM is otherwise unrecognized
STAT_COL="$(/bin/tput cols 2>/dev/null)"
fi
if < "0$STAT_COL" -eq 0 >; then
# if output was 0 (serial console), set default width to 80
USECOLOR=""
STAT_COL=80
fi
else
USECOLOR=""
STAT_COL=80
fi

if < -t 1 >; then
STAT_COL=$(/bin/stty size)
# strip the rows number, we just want columns
STAT_COL=${STAT_COL##* }
if < "$STAT_COL" = "0" >; then
# if output was 0 (serial console), set default width to 80
STAT_COL=80
fi
fi
# we use 13 characters for our own stuff
STAT_COL=$(($STAT_COL - 13))

# disable colors on broken terminals
TERM_COLORS="$(/bin/tput colors 2>/dev/null)"
if < $? = 3 >; then
TERM_COLORS=8
elif < -n "${TERM_COLORS}" >; then
case "${TERM_COLORS}" in
**)
USECOLOR=""
;;
*)
< "${TERM_COLORS}" -lt 8 > && USECOLOR=""
;;
esac
else
USECOLOR=""
fi
unset TERM_COLORS

# clear the TZ envvar, so daemons always respect /etc/localtime
unset TZ

# colors:
if < "$USECOLOR" = "YES" -o "$USECOLOR" = "yes" >; then
C_MAIN="\033<1;37;40m" # main text
C_OTHER="\033<1;34;40m" # prefix & brackets
C_SEPARATOR="\033<1;30;40m" # separator

C_BUSY="\033<0;36;40m" # busy
C_FAIL="\033<1;31;40m" # failed
C_DONE="\033<1;37;40m" # completed
C_BKGD="\033<1;35;40m" # backgrounded

C_H1="\033<1;37;40m" # highlight text 1
C_H2="\033<1;36;40m" # highlight text 2

C_CLEAR="\033<1;0m"
fi

if < -t 1 >; then
SAVE_POSITION="\033
RESTORE_POSITION="\033
DEL_TEXT="\033<$(($STAT_COL+4))G"
else
SAVE_POSITION=""
RESTORE_POSITION=""
DEL_TEXT=""
fi

# prefixes:

PREFIX_REG="::"
PREFIX_HL=" >"

# functions:

deltext() {
printf "${DEL_TEXT}"
}

printhl() {
printf "${C_OTHER}${PREFIX_HL} ${C_H1}${1}${C_CLEAR} \n"
}

printsep() {
printf "\n${C_SEPARATOR} ------------------------------\n"
}

stat_bkgd() {
printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
deltext
printf " ${C_OTHER}<${C_BKGD}BKGD${C_OTHER}>${C_CLEAR} "
}

stat_busy() {
printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
printf "${SAVE_POSITION}"
deltext
printf " ${C_OTHER}<${C_BUSY}BUSY${C_OTHER}>${C_CLEAR} "
}

stat_append() {
printf "${RESTORE_POSITION}"
printf -- "${C_MAIN}${1}${C_CLEAR}"
printf "${SAVE_POSITION}"
}

stat_done() {
deltext
printf " ${C_OTHER}<${C_DONE}DONE${C_OTHER}>${C_CLEAR} \n"
}

stat_fail() {
deltext
printf " ${C_OTHER}<${C_FAIL}FAIL${C_OTHER}>${C_CLEAR} \n"
}

stat_die() {
retval=1
< "$1" = "" > || retval=$1
stat_fail
exit $retval
}

status() {
stat_busy "$1"
shift
$* >/dev/null 2>&1
if < $? -eq 0 >; then
stat_done
return 0
else
stat_fail
return 1
fi
}

# usage : in_array( $needle, $haystack )
# return : 0 - found
# 1 - not found
# Copied from makepkg
in_array() {
local needle=$1; shift
< -z "$1" > && return 1 # Not Found
local item
for item in "$@"; do
local c="${item:0:1}"
if < "x$c" = "x@" >; then
item="${item:1}"
fi
< "$item" = "$needle" > && return 0 # Found
done
return 1 # Not Found
}

# daemons:

add_daemon() {
< -d /var/run/daemons > || /bin/mkdir -p /var/run/daemons
/bin/touch /var/run/daemons/$1
}

rm_daemon() {
/bin/rm -f /var/run/daemons/$1
}

ck_daemon() {
< -f /var/run/daemons/$1 > && return 1
return 0
}

ck_depends() {
for daemon in $@; do
if ck_daemon $daemon; then
/etc/rc.d/$daemon start
fi
done
}

start_daemon() {
/etc/rc.d/$1 start
}

start_daemon_bkgd() {
stat_bkgd "Starting $1"
(/etc/rc.d/$1 start) &>/dev/null &
}

stop_daemon() {
/etc/rc.d/$1 stop
}

# Status functions
status_started() {
deltext
echo -ne "$C_OTHER<${C_STRT}STARTED$C_OTHER>$C_CLEAR "
}

status_stopped() {
deltext
echo -ne "$C_OTHER<${C_STRT}STOPPED$C_OTHER>$C_CLEAR "
}

ck_status() {
ck_daemon $1
if < $? -eq 1 >; then
status_started
else
status_stopped
fi
}


#Source additional functions at the end to allow overrides
for f in /etc/rc.d/functions.d/*; do
if < -e $f >; then
. $f
fi
done
# End of file
# vim: set ft=sh sw=2 ts=2 et:
or10n 19.09.2009 12:57 #
+ 0 -
и что с этим всем делать ? %)
Iliander 19.09.2009 13:09 #
+ 0 -
Первый кусок кода из файла демона dropboxd показывает, что в начале демонов импортируется код с /etc/rc.d/functions.
Второй код — это содержимое файла /etc/rc.d/functions, в котором описана обработка событий в зависимости от возвращаемого скриптом запуска демона кодом и некоторые функции по управлению самими демонами в arch linux.
Можно изменить обработчики дебиана на аналогичные из арча (добавить подсветку цветом) и тогда всё должно заработать.
Хотя простой копипастой тут не обойтись, полагаю. Придется работать мозгом ;)
Более подробно сказать не могу, с debian работал только весьма поверхностно и не долго, мне он не понравился. Обращайся к дебиановодам. Например, к librarian :)
Iliander 19.09.2009 13:26 #
+ 0 -
Решил чуток покопаться…
Смотри, вот код, который проверяет, поддерживает ли терминал цвета.
#disable colors on broken terminals
TERM_COLORS="$(/bin/tput colors 2>/dev/null)"
if < $? = 3 >; then
TERM_COLORS=8
elif < -n "${TERM_COLORS}" >; then
case "${TERM_COLORS}" in
**)
USECOLOR=""
;;
*)
< "${TERM_COLORS}" -lt 8 > && USECOLOR=""
;;
esac
else
USECOLOR=""
fi
unset TERM_COLORS


Дальше код, который в результате этой проверки назначает цвета:
# colors:
if < "$USECOLOR" = "YES" -o "$USECOLOR" = "yes" >; then
C_MAIN="\033<1;37;40m" # main text
C_OTHER="\033<1;34;40m" # prefix & brackets
C_SEPARATOR="\033<1;30;40m" # separator

C_BUSY="\033<0;36;40m" # busy
C_FAIL="\033<1;31;40m" # failed
C_DONE="\033<1;37;40m" # completed
C_BKGD="\033<1;35;40m" # backgrounded

C_H1="\033<1;37;40m" # highlight text 1
C_H2="\033<1;36;40m" # highlight text 2

C_CLEAR="\033<1;0m"
fi

if < -t 1 >; then
SAVE_POSITION="\033
RESTORE_POSITION="\033
DEL_TEXT="\033<$(($STAT_COL+4))G"
else
SAVE_POSITION=""
RESTORE_POSITION=""
DEL_TEXT=""
fi


А вот идет описание функций, вызываемых в зависимости от того, удачно ли произошло выполнение функции в скрипте демона.
# functions:

deltext() {
printf "${DEL_TEXT}"
}

printhl() {
printf "${C_OTHER}${PREFIX_HL} ${C_H1}${1}${C_CLEAR} \n"
}

printsep() {
printf "\n${C_SEPARATOR} ------------------------------\n"
}

stat_bkgd() {
printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
deltext
printf " ${C_OTHER}<${C_BKGD}BKGD${C_OTHER}>${C_CLEAR} "
}

stat_busy() {
printf "${C_OTHER}${PREFIX_REG} ${C_MAIN}${1}${C_CLEAR} "
printf "${SAVE_POSITION}"
deltext
printf " ${C_OTHER}<${C_BUSY}BUSY${C_OTHER}>${C_CLEAR} "
}

stat_append() {
printf "${RESTORE_POSITION}"
printf -- "${C_MAIN}${1}${C_CLEAR}"
printf "${SAVE_POSITION}"
}

stat_done() {
deltext
printf " ${C_OTHER}<${C_DONE}DONE${C_OTHER}>${C_CLEAR} \n"
}

stat_fail() {
deltext
printf " ${C_OTHER}<${C_FAIL}FAIL${C_OTHER}>${C_CLEAR} \n"
}

stat_die() {
retval=1
< "$1" = "" > || retval=$1
stat_fail
exit $retval
}

status() {
stat_busy "$1"
shift
$* >/dev/null 2>&1
if < $? -eq 0 >; then
stat_done
return 0
else
stat_fail
return 1
fi
}


А вот код запуска демона ntpdate

#!/bin/bash

. /etc/rc.conf
## Вот здесь импортируются эти функции
. /etc/rc.d/functions
. /etc/conf.d/ntp-client.conf

case "$1" in
start)
## Сначала, во время запуска, выводится сообщение < BUSY >
stat_busy "Starting NTP Client"
/usr/bin/ntpdate $NTP_CLIENT_OPTION -t $NTPCLIENT_TIMEOUT $NTP_CLIENT_SERVER > /dev/null 2>&1
if < $? -gt 0 >; then

## Если вернулся код выполнения, отличный от нуля — выводится сообщение об ошибке.

stat_fail
else
## Иначе — добавляется демон и выводится сообщение об успешном выполнении
add_daemon ntpdate
stat_done
fi
;;
stop)
stat_busy "Stopping NTP Client"
rm_daemon ntpdate
stat_done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac



По-моему, всё просто, как и сам Arch. Дальше пили дебиан.
renya 18.09.2009 16:28 #
+ 1 -
if < "$UID" = 0 >;
then PS1="\<\033<1;31m\>\W #\<\033<00m\> > "
else PS1="\<\033<1;33m\>\W $\<\033<00m\> > "; fi


моё
muhas 18.09.2009 16:42 #
+ 0 -
гыг. с цветами и путем оно конечно хорошо, но # для рута и $ для юзверя выводятся проще - \$
(это так, на всякий случай для тех кто не в курсе)
а у тя чё, у рута .bashrc симлинк ~/.bashrc на твоего юзверя или в /etc/profile прописываешь?
renya 18.09.2009 16:55 #
+ 1 -
sudo только юзаю :)
renya 18.09.2009 16:59 #
+ 1 -
Последний раз под рутом создавал пользователя и добавлял его в группу wheel =)
Slip 18.09.2009 19:26 #
+ 1 -
Прикольно, но я пожалуй добавлю не кавайный ^_^ ,а что то вроде о_О

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн