Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Bubujka committed May 25, 2011
0 parents commit 6e8a412
Show file tree
Hide file tree
Showing 480 changed files with 3,263 additions and 0 deletions.
11 changes: 11 additions & 0 deletions bash/1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
code: |
$ I=foobar
$ echo ${I/oo/aa} #replacement
faabar
$ echo ${I:1:2} #substring
oo
$ echo ${I%bar} #trailing substitution
foo
$ echo ${I#foo} #leading substitution
bar
4 changes: 4 additions & 0 deletions bash/10
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использование случайных чисел
code: |
$ echo $((RANDOM % 15))
6 changes: 6 additions & 0 deletions bash/11
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Проверка строки по регулярному выражению
code: |
if [[ "mystring" =~ REGEX ]] ; then
echo match
fi
13 changes: 13 additions & 0 deletions bash/12
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использование массивов
code: |
#!/bin/bash

array[0]="a string"
array[1]="a string with spaces and \"quotation\" marks in it"
array[2]="a string with spaces, \"quotation marks\" and (parenthesis) in it"

echo "There are ${#array[*]} elements in the array."
for n in "${array[@]}"; do
echo "element = >>${n}<<"
done
4 changes: 4 additions & 0 deletions bash/13
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Посмотреть как будет выполняться скрипт
code: |
$ bash -x script.sh
6 changes: 6 additions & 0 deletions bash/14
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Исправление ошибок в последней команде
code: |
$ cat /proc/cupinfo
cat: /proc/cupinfo: No such file or directory
$ ^cup^cpu
10 changes: 10 additions & 0 deletions bash/15
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использование булевых операторов в выражении
code: |
if [ 2 -lt 3 ]
then echo "Numbers are still good!"
fi

if [[ 2 < 3 ]]
then echo "Numbers are still good!"
fi
4 changes: 4 additions & 0 deletions bash/16
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Проверить синтаксис скрипта без его выполнения
code: |
$ bash -n script.sh
4 changes: 4 additions & 0 deletions bash/17
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Подсчёт времени потраченного на выполнение
code: |
$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"
6 changes: 6 additions & 0 deletions bash/18
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использование арифметики
code: |
if [[ $((2+1)) = $((1+2)) ]]
then echo "still ok"
fi
8 changes: 8 additions & 0 deletions bash/19
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
code: |
[lsc@home]$ export PROMPT_COMMAND="date"
Fri Jun 5 15:19:18 BST 2009
[lsc@home]$ ls
file_a file_b file_c
Fri Jun 5 15:19:19 BST 2009
[lsc@home]$ ls
7 changes: 7 additions & 0 deletions bash/2
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Добавить параметры предыдущей команды
code: |
$ ls /var/cache/
fontconfig hald ldconfig man pacman
$ cd <Alt+.>
$ cd /var/cache
4 changes: 4 additions & 0 deletions bash/20
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Редактировать текущую команду в редакторе
code: |
$ ls -l <ctrl+x><ctrl+e>
11 changes: 11 additions & 0 deletions bash/21
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
code: |
Поместить курсор в начало/конец строки
Ctrl + a / Ctrl + e

Поменять местами текущий и предыдущий символ/слово
Ctrl + t / Alt + t

Поменять в верхний/нижний регистр всё от текущей
позиции до конца слова
Alt + u / Alt + l
4 changes: 4 additions & 0 deletions bash/22
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Отчистить файл
code: |
$ > file
7 changes: 7 additions & 0 deletions bash/23
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использование базовых математических операций.
code: |
$ A=10
$ let B="A * 10 + 1" # B=101
$ let B="B / 8" # B=12
$ let B="(RANDOM % 6) + 1" # B от 1 до 6
7 changes: 7 additions & 0 deletions bash/24
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: |
Первая команда удаляет из истории баша все дубликаты
Вторая увеличивает объём истории
code: |
$ export HISTCONTROL=erasedups
$ export HISTSIZE=1000
4 changes: 4 additions & 0 deletions bash/25
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Вырубать баш после 15 минут простоя
code: |
$ export TMOUT=$((15*60))
5 changes: 5 additions & 0 deletions bash/26
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Раскрыть подстановки в выражениях
code: |
$ rm -r source/d*.c <Alt + *>
$ rm -r source/delete_me.c source/do_not_delete_me.c
5 changes: 5 additions & 0 deletions bash/27
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Развернуть переменные и алиасы
code: |
$ ls $HOME/tmp <Ctrl Alt + e>
$ ls -N --color=tty -T 0 /home/cramey
4 changes: 4 additions & 0 deletions bash/28
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Вызывать команды из команд.
code: |
$ hostname && dig +short $(hostname) && dig +short -x $(dig +short $(hostname))
7 changes: 7 additions & 0 deletions bash/29
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Вызывать переменные-переменные
code: |
$ foo=bar
$ baz=foo
$ echo ${!baz}
bar
6 changes: 6 additions & 0 deletions bash/3
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Выполнить вторую команду с конца истории
code: |
$ ls -l foo bar
$ touch foo bar
$ !-2
15 changes: 15 additions & 0 deletions bash/30
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
link: http://user.su/index.php/Bash:Основы
desc: Массивы
code: |
array[0]=тест1
array[1]=тест2

echo ${#array[0]} # Длина первого элемента массива
echo ${#array[*]} # Число элементов в массиве
echo ${#array[@]} # Число элементов в массиве
echo ${array[@]:0} # Все элементы массива
echo ${array[@]:1} # Все эелементы массива, начиная со 2-го

area=( ноль один два три четыре )
a=( '' ) # "a" имеет один пустой элемент
hash=( [0]="первый" [1]="второй" [3]="четвертый" )
18 changes: 18 additions & 0 deletions bash/31
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
link: http://user.su/index.php/Bash:Основы
desc: |
Элементы массива разделяются пробелами
Для обработки строк, как элементов массива
нужно на время изменить разделитель:
code: |
LD_IFS="$IFS"
IFS=$'\n'

declare -a a
a=( $(cat "file.txt") )
echo "Total:" ${#a[@]}
for i in "${a[@]}"
do
echo "$i"
done

IFS="$OLD_IFS"
15 changes: 15 additions & 0 deletions bash/32
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
link: http://user.su/index.php/Bash:Основы
desc: Арифметические операторы
code: |
+ сложение
- вычитание
* умножение
/ деление
** возведение в степень
% модуль, остаток от деления

+=
-=
/=
*=
%=
15 changes: 15 additions & 0 deletions bash/33
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
link: http://user.su/index.php/Bash:Основы
desc: Битовые операторы
code: |
<< сдвигает на 1 бит влево (умножение на 2)
<<= сдвиг-влево-равно
>> сдвиг вправо на 1 бит (деление на 2)
>>= сдвиг-вправо-равно (имеет смысл обратный <<=)
& по-битовое И (AND)
&= по-битовое И-равно
| по-битовое ИЛИ (OR)
|= по-битовое ИЛИ-равно
~ по-битовая инверсия
! по-битовое отрицание
^ по-битовое ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)
^= по-битовое ИСКЛЮЧАЮЩЕЕ-ИЛИ-равно
5 changes: 5 additions & 0 deletions bash/34
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://user.su/index.php/Bash:Основы
desc: Логические операторы
code: |
&& логическое И (and)
|| логическое ИЛИ (or)
6 changes: 6 additions & 0 deletions bash/35
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
link: http://user.su/index.php/Bash:Основы
desc: Длина строки
code: |
${#string}
expr length $string
expr "$string" : '.*'
5 changes: 5 additions & 0 deletions bash/36
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://user.su/index.php/Bash:Основы
desc: Длина подстроки в строке
code: |
expr match "$string" '$regsubstring'
expr "$string" : '$regsubstring'
10 changes: 10 additions & 0 deletions bash/37
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
link: http://user.su/index.php/Bash:Основы
desc: Специальные переменные
code: |
$# количество аргументов командной строки
$* и $@ содержат все аргументы командной строки
$0 $1 $2 ${10} позиционные параметры
$? код завершения последней выполненной команды, функции или сценария
$$ id процесса
$! pid последнего, запущенного в фоне, процесса
$_ последний аргумент предыдущей команды
17 changes: 17 additions & 0 deletions bash/38
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
link: http://user.su/index.php/Bash:Основы
desc: Перенаправление вывода
code: |
COMMAND_OUTPUT > # Перенаправление stdout (вывода) в файл.
: > filename # Операция > усекает файл "filename" до нулевой длины (аналог команды touch)
> filename # Операция > усекает файл "filename" до нулевой длины
COMMAND_OUTPUT >> # Перенаправление stdout (вывода) в файл в режиме добавления
1>filename # Перенаправление вывода (stdout) в файл "filename"
1>>filename # Перенаправление вывода (stdout) в файл "filename", добавление
2>filename # Перенаправление stderr в файл "filename"
2>>filename # Перенаправление stderr в файл "filename", добавление
&>filename # Перенаправление stdout и stderr в файл "filename"
2>&1 # Перенаправляется stderr на stdout
i>&j # Перенаправляется файл с дескриптором i в j
>&j # Перенаправляется файл с дескриптором 1 (stdout) в файл с дескриптором j
0< FILENAME # Ввод из файла
< FILENAME # Ввод из файла
6 changes: 6 additions & 0 deletions bash/4
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использовать аргументы предыдущей команды
code: |
$ ls -l foo
$ touch !:2
$ cp !:1 bar
7 changes: 7 additions & 0 deletions bash/5
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использование аргументов одной из предыдущих команд
code: |
$ ls -l foo bar
$ touch !:2 !:3
$ rm !-2:2 !-2:3
$ !-3
5 changes: 5 additions & 0 deletions bash/6
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Подставить все аргументы предыдущей команды
code: |
$ ls -l foo bar
$ ls !*
5 changes: 5 additions & 0 deletions bash/7
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использовать первый аргумент предыдущей команды
code: |
$ ls /tmp /var
$ ls !^
5 changes: 5 additions & 0 deletions bash/8
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Использовать последний аргумент предыдущей команды
code: |
$ ls /tmp /var
$ ls !$
6 changes: 6 additions & 0 deletions bash/9
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
link: http://stackoverflow.com/questions/211378/hidden-features-of-bash
desc: Посмотреть какая команда будет выполнена:
code: |
$ ls /var /tmp
$ ls !$ <alt+shift+6>
$ ls /tmp
12 changes: 12 additions & 0 deletions bash/branching/1
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
link: http://user.su/index.php/Bash:Основы
desc: Условия if
code: |
if [ condition ]
then
command
elif [ condition ]
then
command
else
command
fi
5 changes: 5 additions & 0 deletions bash/branching/2
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
link: http://user.su/index.php/Bash:Основы
desc: Логические операторы в условиях
code: |
if [ $condition1 ] && [ $condition2 ] ...
if [[ $condition1 && $condition2 ]] ...
11 changes: 11 additions & 0 deletions bash/branching/3
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
link: http://user.su/index.php/Bash:Основы
desc: Ветвления case
code: |
case ABC in
condition1)
command
;;
condition2)
command
;;
esac
1 change: 1 addition & 0 deletions bash/branching/name
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ветвление
13 changes: 13 additions & 0 deletions bash/comparsion/1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
link: http://user.su/index.php/Bash:Основы
desc: Сравнения чисел
code: |
[ A -eq B ] # равно
[ A -ne B ] # не равно
[ A -gt B ]
[ A -lt B ]
[ A -ge B ]
[ A -le B ]
(( A < B ))
(( A <= B ))
(( A > B ))
(( A >= B ))
10 changes: 10 additions & 0 deletions bash/comparsion/2
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
link: http://user.su/index.php/Bash:Основы
desc: Сравнения строк
code: |
[ A = B ]
[ A == B ]
[ A != B ]
[ A \< B ]
[ A \> B ]
[ -z A ] # строка пустая?
[ -n A ] # строка не пустая?
Loading

0 comments on commit 6e8a412

Please sign in to comment.