Shower Presentation Engine

Yours Truly, Famous Inc.

Консоль в массы__

Виталий Рыбка

Статьи

Любимый браузер

Любимый браузер

Консоль для пользователя

Консоль для пользователя

devtools terminal

devtools terminal

План побега

  1. Менеджеры терминалов
  2. Скрипты на bash
  3. Автоматизация рутинных задач

Репозиторий

Слайды

Где это все работает

Менеджеры терминалов

  1. screen
  2. tmux

Менеджеры терминалов. Screen

Установка:
			sudo apt-get install screen
			screen
		

Менеджеры терминалов. Screen

Базовые сочетания клавиш:

Менеджеры терминалов. Screen

Пример файла конфигураций (.screenrc):
			# Default is ‘on’, as you probably noticed.
			startup_message off
			# Window list at the bottom.
			hardstatus alwayslastline
			hardstatus string "%-w%{= BW}%50>%n %t%{-}%+w%<"
		
Что означают непонятные символы в этой строке hardstatus string "%-w%{= BW}%50>%n %t%{-}%+w%<" можно почитать тут.

Менеджеры терминалов. Screen

screen example

Менеджеры терминалов. Tmux

“Это тот-же screen, только на стероидах”
Установка:
			sudo apt-get install tmux
			tmux
		

Менеджеры терминалов. Tmux

Базовые сочетания клавиш:

Менеджеры терминалов. Tmux

tmux example
keep calm and bin bash

bash

  1. Основы
  2. Ветвления
  3. Циклы

bash. Основы

  1. Переменные
  2. Передача аргументов скрипту
  3. Обработка внутри скрипта

bash. Основы. "Hello, world!"

			#!/bin/bash
			echo "Hello, world!"
		
./hw.sh # вызов

Скрипты на bash. Основы. Перменные

Перменные: Создание (перезапись) переменной:
path="~/Docs"
Чтение переменной:
"$path" или "${path}"

Скрипты на bash. Основы. Аргументы

Передача аргументов скрипту:
./script.sh arg1 arg2 arg3 … argN
Обработка внутри скрипта:
"$1" - первый аргумент
"$2" - второй аргумент
"$0" - имя скрипта
"$#" - количество аргументов
"$@" - каждый параметр представлен как отдельная строка (слово), т.е. параметры не подвергаются какой либо интерпретации

Скрипты на bash. Основы. Примеры

Еще один пример, поработаем с переменными
			#!/bin/bash
			var1="$1"
			var2="$2"
			echo "Arguments are \$1=${var1} \$2=${var2}"
		
./variables.sh var1 var2 # вызов

bash. Основы. Ветвление

  1. if
  2. if/else
  3. if/elif/else
  4. case/in/esac

Скрипты на bash. Основы. Ветвление

if
			if [[ condition ]]
			then
			  # an action, if condition is true
			done
		

Скрипты на bash. Основы. Ветвление

Условия (строки):
-z <string> # string is empty
-n <string> # string is not empty
<str1> == <str2> # strings are equal
<str1> != <str2> # strings are not equal

Скрипты на bash. Основы. Ветвление

Условия (числа/строки):
-eq, (==) # equal
-ne, (!=) # not equal
-lt, (<) # less than
-le # less than or equal
-gt, (>) # more than
-ge # more than or equal

Скрипты на bash. Основы. Ветвление

Условия (файлы):
-e <path> # path is exist
-f <path> # is file
-d <path> # is directory
-s <path> # file size more than 0
-x <path> # file is executable

Скрипты на bash. Основы. Ветвление

Условия (логические):
! # denial of boolean expression
&& # boolean “and”
|| # boolean “or”

bash. Основы. Циклы

  1. for/in
  2. while

bash. Основы. Циклы

for/in:
			for i in array
			do
			  # действие, переменная i каждый раз принимает
			  # следующее значение из array
			done
		

Полезные ссылки

Автоматизация рутинных задач

Up большого числа репозиториев

Up большого числа репозиториев

Решение: Автоматизируем

Up большого числа репозиториев. После

Полезные алиасы

Полезные алиасы

Полезные алиасы

.bashrc, .gitconfig
			alias gst='git status'
			alias gf='git fetch'
			alias ghide='git stash'
			alias gshow='git stash pop'
			alias gmom='git merge origin/master' # !!!
			alias gad='git add'
			alias grm='git rm'
		

Полезные ссылки

About me

Это последний слайд

Все, кина на будет...

Fork me on GitHub