Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| bash:developing [2017/01/01 16:51] – [test] 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 ===== | ||
| Строка 236: | Строка 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 ==== | ||
| Строка 267: | Строка 309: | ||
| ====== test ====== | ====== test ====== | ||
| - | | + | |
| - | * -f - Наличие файла | + | * '' |
| - | * -d - Наличие | + | * '' |
| - | * -e - | + | * '' |
| - | * -z - Наличие данных в строке | + | * '' |
| - | * = | + | * '' |
| - | * != | + | * '' |
| - | * Сокращенный вариант **[ ]** | + | * '' |
| - | * http://www.ibm.com/developerworks/ | + | * '' |
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | | ||
| + | |||
| + | |||
| + | ===== Применение в коде ===== | ||
| + | |||
| + | <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 ====== | ||
| Строка 298: | Строка 402: | ||
| ===== Y ===== | ===== Y ===== | ||
| - | ====== Ссылки ====== | ||
| - | |||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * https:// | ||
| - | * [[system: | ||
| - | * [[bash: | ||
| - | * [[bash: | ||
| - | * http:// | ||
| - | * [[http:// | ||
| - | * http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * http:// | ||
| - | |||
| - | ====== Видео уроки ====== | ||
| - | * https:// | ||