Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
bash:developing [2016/02/17 22:11] – [case] mirocow | bash:developing [2023/06/24 12:36] (текущий) – [R] mirocow | ||
---|---|---|---|
Строка 3: | Строка 3: | ||
====== Bash ====== | ====== Bash ====== | ||
+ | ===== Файлы конфигурации: | ||
+ | |||
+ | ==== В чем отличие .bash_profile и .bashrc? ==== | ||
+ | |||
+ | .bash_profile загружается только при входе пользователя в систему (консольный вход, ssh), | ||
+ | в то время как | ||
+ | логина (запуск xterm). | ||
===== Переменные и параметры ===== | ===== Переменные и параметры ===== | ||
Строка 37: | Строка 44: | ||
files=( "/ | files=( "/ | ||
limits=( 10, 20, 26, 39, 48) | limits=( 10, 20, 26, 39, 48) | ||
+ | </ | ||
+ | |||
+ | ==== ARGV ==== | ||
+ | |||
+ | <code bash> | ||
+ | # ------------- SCRIPT ------------- # | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | echo | ||
+ | echo "# arguments called with ----> | ||
+ | echo "# \$1 ----------------------> | ||
+ | echo "# \$2 ----------------------> | ||
+ | echo "# path to me ---------------> | ||
+ | echo "# parent path --------------> | ||
+ | echo "# my name ------------------> | ||
+ | echo | ||
+ | exit | ||
+ | |||
+ | # ------------- CALLED ------------- # | ||
+ | |||
+ | # Notice on the next line, the first argument is called within double, | ||
+ | # and single quotes, since it contains two words | ||
+ | |||
+ | $ / | ||
+ | |||
+ | # ------------- RESULTS ------------- # | ||
+ | |||
+ | # arguments called with ---> | ||
+ | # $1 ----------------------> | ||
+ | # $2 ----------------------> | ||
+ | # path to me --------------> | ||
+ | # parent path -------------> | ||
+ | # my name -----------------> | ||
+ | |||
+ | # ------------- END ------------- # | ||
</ | </ | ||
===== B ===== | ===== B ===== | ||
Строка 57: | Строка 100: | ||
* -f(число) | * -f(число) | ||
+ | Переименовывает все файлы вида thread_1_seq_35970.1752.876204343 в файлы вида arch_1_0000035970_869578613.arc | ||
<code bash> | <code bash> | ||
#! /bin/bash | #! /bin/bash | ||
Строка 235: | Строка 279: | ||
===== Q ===== | ===== Q ===== | ||
===== R ===== | ===== R ===== | ||
- | ===== S ===== | ||
- | ==== status ==== | + | <code bash> |
+ | $ IFS=' ' read -r -a DATABASES_SELECTED <<< | ||
+ | $ read str <<< | ||
+ | -x- | ||
+ | $ IFS="" | ||
+ | - x - | ||
+ | $ IFS= read str <<< | ||
+ | - x - | ||
+ | $ _ | ||
+ | </ | ||
- | Проверка статуса выполнения программы | + | * IFS=";" |
+ | * set -- $line - разбиваем строку, | ||
+ | ===== S ===== | ||
- | <code bash> | ||
- | rm test_file | ||
- | |||
- | if [ $? -eq 0 ]; then | ||
- | echo -n " | ||
- | echo | ||
- | else | ||
- | echo -n " | ||
- | echo | ||
- | fi | ||
- | </ | ||
==== select ==== | ==== select ==== | ||
Строка 266: | Строка 309: | ||
====== test ====== | ====== test ====== | ||
- | | + | |
- | * -f - Наличие файла | + | * '' |
- | * -d - Наличие директории | + | * '' |
- | * -e - | + | * '' |
- | * -z - Наличие данных в строке | + | * '' |
- | * Сокращенный вариант **[ ]** | + | * '' |
- | * http://www.ibm.com/ | + | * '' |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Сокращенный вариант **[ ]** | ||
+ | |||
+ | |||
+ | ===== Применение в коде ===== | ||
+ | |||
+ | <code bash> | ||
+ | if [ $daynow != 1 ]; then | ||
+ | # .... | ||
+ | fi | ||
+ | |||
+ | if [ $daynow -ge 1 ] && [ $daynow -le 7 ]; then | ||
+ | # .... | ||
+ | fi | ||
+ | </code> | ||
+ | |||
+ | Сравнение **-eq** с **==** | ||
+ | |||
+ | < | ||
+ | $ [ a == a ]; echo $? | ||
+ | 0 | ||
+ | |||
+ | $ [ a -eq a ]; echo $? | ||
+ | -bash: [: a: integer expression expected | ||
+ | 2 | ||
+ | </ | ||
+ | |||
+ | === status === | ||
+ | |||
+ | Проверка статуса выполнения программы | ||
+ | |||
+ | <code bash> | ||
+ | rm test_file | ||
+ | |||
+ | if [ $? -eq 0 ]; then | ||
+ | echo -n " | ||
+ | echo | ||
+ | else | ||
+ | echo -n " | ||
+ | echo | ||
+ | fi | ||
+ | </code> | ||
====== tput ====== | ====== tput ====== | ||
Строка 295: | Строка 402: | ||
===== Y ===== | ===== Y ===== | ||
- | ====== Ссылки ====== | ||
- | |||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * https:// | ||
- | * [[system: | ||
- | * [[bash: | ||
- | * [[bash: | ||
- | * http:// | ||
- | * [[http:// | ||
- | * http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * http:// | ||
- | |||
- | ====== Видео уроки ====== | ||
- | * https:// | ||