Покрокова інструкція щодо налаштування кольорового запиту mysql.
Крок 1. Зрозумійте, як правильно входити в систему за допомогою набору запитів:
eric@dev ~ $ mysql --host=yourhost.com -u username --prompt="foobar> " -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 711
Server version: 5.6.19 MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
foobar>
Крок 2. Розумійте, як можна передавати інтерпретований вираз через відлуння до "псевдоніму":
Що робить точно так само, як і на кроці 1 вище:
eric@dev ~ $ alias penguins=$(echo -e 'mysql --host=yourhost.com -u dev --prompt="foobar> " -p')
eric@dev ~ $ penguins
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 713
Server version: 5.6.19 MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
foobar> exit
Bye
eric@dev ~ $
Крок 3. Зрозумійте, як echo -e оцінює забарвлений вираз:
Це забарвлює червоний рядок "foobar>":
alias penguins=$(echo -e 'mysql --host=yourhost.com -u dev --prompt="\x1B[31mfoobar>\x1B[0m " -p')
penguins
Подобається це:
Крок 4. Якщо ви плутаєтесь щодо того, що тут відбувається:
Подивіться на вираз: \x1B[31mfoobar>\x1B[0m
Він складається з трьох частин:
code what it means:
\x1B[31m Start colorizing, 31m is red.
foobar> prompt text
\x1B[0m Stop colorizing.
Крок 4. Додатково. Дозволяє зробити підказку справді приємною:
eric@dev ~ $ alias penguins=$(echo -e 'mysql --host=yourhost.com -u dev --prompt="\x1B[31m\\u\x1B[34m@\x1B[32m\\v\x1B[0m:\x1B[36m\\d>\x1B[0m " -p')
eric@dev ~ $ penguins
Якщо вас бентежить, що робить цей масовий код:
\x1B[31m\\u\x1B[34m@\x1B[32m\\v\x1B[0m:\x1B[36m\\d>\x1B[0m
Пояснення:
Code Note
\x1B[31m Start colorizing red
\\u escape the backslash for passage through echo, and print username
\x1B[34m Start colorizing dark blue
@ literal at sign
\x1B[32m Start colorizing green
\\v escape the backslash for passage through echo, print server version
\x1B[0m Stop colorizing
: literal colon
\x1B[36m Start colorizing cyan
\\d> Backslash for passage through echo, print default db and >
\x1B[0m Stop colorizing.
Так що вау. Багато кодів.