хочу сюди!
 

Marina

44 роки, рак, познайомиться з хлопцем у віці 42-50 років

Замітки з міткою «bash»

Пра анестезиологов

  • 02.01.19, 18:25
  • bash
ххх: 43% людей верят, чтo общая анестезия отнимает у пациента нecкoлькo лeт жизни.
ууу: И передает анестезиологу :D
zzz: 120 лет работаю анестезиологом, никогда такого бреда не слышал.

Ужасный ослик сожрал ехидну



Ужасный ослик сожрал ехидну

Линукс, bash, скрипты, компы, паразиты мозга

Сегодня весь день протрахался с Линуксом. Хотя начал возбуждаться еще надысь. Достали меня все эти автопереключалки не c той раскладки. Вообще все достало. Жутко захотел забацать какой-нибудь скрипт, чтобы если я целый абзац нафигачил не на том языке, то уж очень жутко и в облом вспоминать, что-же такого гениального я выдал экспромтом в порыве гениальности. А пытаться выблевать заново гениальную мыслю - всегда голимая пурга и геморрой. Захотелось какой-то магии - типа нажать на волшебную кнопку "сделать все пиздато" и чтобы весь выделенный текст заменился на нормальный. Ну, типа того, что 

E;fcysq jckbr cj;hfk t[blye b gj'njve cnfk jxtym t[blysv/ "nj jnrhsnbt tuj nfr gjnhzckj? xnj jy dsdtk wtke. cbcntve - c]tim ujhxbwe - jujhxbicz b n/l/

заменится на вот такое

Ужасный ослик сожрал ехидну и поэтому стал очень ехидным. Это открытие его так потрясло, что он вывел целую систему - съешь горчицу - огорчишся и т.д.

Тут есть предистория - так и не научился слепому набору, но уткнувшись в клаву - херачу ОГО-ГО. А потом иногда как глаза подниму на монитор - ну ни хера себе нахерачил !!! Все слова не в той раскладке. Поэтому лично для меня - актуально.

Протрахался крепко. Пришлось копать в глубины bash, привлекать сторонние проги, но скрипт родился примерно час назад. Устал, как собака, но безмерно счастлив. Никакой автозамены и тупых инструкций. Никаких тормозов. Абсолютно прозрачно - набрал не в той раскладке целый абзац или даже страницу - не боись, а делай три простых движения: 
1. скопировать
2. вызвать мою прогу (Alt-F2 или ярлыком)
3. вставить. 

Балдею.

Скрипт прилагается (это под Линукс)

Единственное уточнение - нужно установить xsel - это легко 
"sudo apt install xsel"

----
#!/bin/bash
clipboard="$(xsel -b)"
clipZ=${#clipboard}
tmp=$clipboard
tmp=${tmp//q/й}
tmp=${tmp//w/ц}
tmp=${tmp//e/у}
tmp=${tmp//r/к}
tmp=${tmp//t/е}
tmp=${tmp//y/н}
tmp=${tmp//u/г}
tmp=${tmp//i/ш}
tmp=${tmp//o/щ}
tmp=${tmp//p/з}
tmp=${tmp//[/х}
tmp=${tmp//]/ъ}
tmp=${tmp//a/ф}
tmp=${tmp//s/ы}
tmp=${tmp//d/в}
tmp=${tmp//f/а}
tmp=${tmp//g/п}
tmp=${tmp//h/р}
tmp=${tmp//j/о}
tmp=${tmp//k/л}
tmp=${tmp//l/д}
tmp=${tmp//;/ж}
tmp=${tmp//"'"/э}
tmp=${tmp//z/я}
tmp=${tmp//x/ч}
tmp=${tmp//c/с}
tmp=${tmp//v/м}
tmp=${tmp//b/и}
tmp=${tmp//n/т}
tmp=${tmp//m/ь}
tmp=${tmp//,/б}
tmp=${tmp//./ю}
tmp=${tmp//Q/Й}
tmp=${tmp//W/Ц}
tmp=${tmp//E/У}
tmp=${tmp//R/К}
tmp=${tmp//T/Е}
tmp=${tmp//Y/Н}
tmp=${tmp//U/Г}
tmp=${tmp//I/Ш}
tmp=${tmp//O/Щ}
tmp=${tmp//P/З}
tmp=${tmp//{/Х}
tmp=${tmp//}/Ъ}
tmp=${tmp//A/Ф}
tmp=${tmp//S/Ы}
tmp=${tmp//D/В}
tmp=${tmp//F/А}
tmp=${tmp//G/П}
tmp=${tmp//H/Р}
tmp=${tmp//J/О}
tmp=${tmp//K/Л}
tmp=${tmp//L/Д}
tmp=${tmp//:/Ж}
tmp=${tmp//'"'/Э}
tmp=${tmp//Z/Я}
tmp=${tmp//X/Ч}
tmp=${tmp//C/С}
tmp=${tmp//V/М}
tmp=${tmp//B/И}
tmp=${tmp//N/Т}
tmp=${tmp//M/Ь}
tmp=${tmp//</Б}
tmp=${tmp//>/Ю}
tmp=${tmp////.}
tmp=${tmp//"?"/,}
tmpZ=${#tmp}
let "tmpZ-=3"
tmp1=${tmp:0:tmpZ}
echo -n $tmp1 | xsel -b -i
exit 0
----
Map

Раскрашиваем bash в Ubuntu.

Возникла идея раскрасить консольку в Ubuntu. Для красоты и для удобства восприятия. Принялся за поиски готовых решений, но как-то не спешат пользователи делиться своими конфигами. Решил - буду первым. При работе очень помогли такие материалы:
http://goo.gl/Df6tv
http://goo.gl/n6BPv
http://goo.gl/wvKds
http://goo.gl/Vg3eT и
http://goo.gl/vWwii .
Установлен grc для раскраски вывода комманд, таких как ping, traceroute и некоторые другие. Говорят - можно добавить свои алиасы. Я покуда не пробовал.
Делалось это на Ubuntu 13.04 c Unity DM.

Что получилось у меня - можно увидеть на скриншотах ниже. 
Как это реализовано: в файл ~/.bashrc (некоторых версиях Linux это может быть файл ~/.bash.profile) добавлено несколько строк кода.
_________________________________________________________

#Здесь задаём переменные цвета.
red="\[\e[1;33m\]"
yellow="\[\e[1;31m\]"
#Считываем eUID пользователя. Если не рут - устанавливаем цвет жёлтый, иначе - красный.
if [ `id -u` -eq "0" ]; then
    root="${yellow}"
else
    root="${red}"
fi
#Собственно строка приглашения bash. Именно здесь задаём цвета для каждого элемента.

PS1="\[\e[4;37m\][\t]\n\[\e[0m\]\[\e[1;36m\][${root}\u\[\e[1;34m\]@\h\[\e[1;32m\]\w\[\e[1;36m\]]\[\e[0m\]${root}\\$\[\e[0m\]"

#Алиасы для раскраски вывода команд с помощью grc.

alias ping='grc ping'
alias traceroute='grc traceroute'
alias make='grc make'
alias diff='grc diff'
alias cvs='grc cvs'
alias netstat='grc netstat'
alias logc='grc cat'
alias logt='grc tail'
alias logh='grc head'
alias less='less --RAW-CONTROL-CHARS'

_________________________________________________________


Цвета задаются перед управляющей последовательностью (как \t \n \w \u и т.п.). Всё, что идёт за кодом цвета - будет раскрашено если не ввести последовательность \[\e[0m\] , которая устанавливает после себя значения цветов и шрифтов по-умолчанию.

В общем вот так. Я не ставлю себе целью писать полноценный мануал, так как они написаны в ссылках, приведённых мной выше, Я лишь хочу поделиться готовым решением по раскраске ибо такового не нашёл.

P.S.: Если Вы пользуетесь командой "sudo su" - код для раскраски нужно будет добавить и в  /root/.bashrc