Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
develop:shell:bash [2018/06/17 19:43] – ↷ Страница перемещена из shell:bash в develop:shell:bash mirocow | develop:shell:bash [2023/06/24 12:29] (текущий) – [BASH, SH] mirocow |
---|
====== BASH, SH ====== | ====== BASH, SH ====== |
| |
* [[bash:developing|Программирование]] :!: | * [[:system:shopt|Настройки]] |
* [[system:shopt|Настройки]] | * [[:bash:bash-completion|]] |
* [[bash:bash-completion|]] | * [[:bash:keys|]] |
* [[bash:keys]] | * [[:unix:commands|]] :!: |
* [[http://habrahabr.ru/post/47706/|Частые ошибки программирования на Bash]] | * [[:unix:admin|]] |
* [[unix:commands]] :!: | * [[:develop:shell|]] |
* [[unix:admin]] | * [[:bash:developing|Программирование]] :!: |
* [[develop:shell]] | * [[:bash:основы_bash._часть_1|]] :!: |
| * [[:bash:основы_bash._часть_2|]] :!: |
====== Переменные и конфиг файлы ====== | ====== Переменные и конфиг файлы ====== |
| |
Согласно мануалу по bash, .bash_profile исполняется для оболочек, осуществляющих авторизацию пользователя. .bashrc исполняется для интерактивных оболочек, не авторизующих пользователя. | <code> |
| +-----------------+ +------FIRST-------+ +-----------------+ |
| | | | ~/.bash_profile | | | |
| login shell -------->| /etc/profile |-->| ~/.bash_login ------>| ~/.bashrc | |
| | | | ~/.profile | | | |
| +-----------------+ +------------------+ +-----------------+ |
| +-----------------+ +-----------------+ |
| | | | | |
| interactive shell -->| ~/.bashrc -------->| /etc/bashrc | |
| | | | | |
| +-----------------+ +-----------------+ |
| +-----------------+ |
| | | |
| logout shell ------->| ~/.bash_logout | |
| | | |
| +-----------------+ |
| |
| </code> |
| |
| * []-->[] - запускается автоматически |
| * [--->[] - запускается если прописан или в ручную. |
| * FIRST - находит первый доступный, остальные игнорируются |
| |
===== Документация ===== | Несколько примечаний: |
| |
* [[system:shell:bash:перенаправление_вывода]] | * «интерактивная оболочка» должна быть «интерактивной оболочкой без входа в систему», а «оболочка входа в систему» должна быть «интерактивной оболочкой входа в систему». |
* http://www.opennet.ru/docs/RUS/bash_scripting_guide/ | * Кроме того, по крайней мере, в Ubuntu, для интерактивных оболочек без входа в систему /etc/bash.bashrc сначала читается ~/.bashrc. Обратите внимание, что /etc/bash.bashrc его нет в ванильном GNU Bash, это модификация, которую делают многие дистрибутивы. |
* http://gnu.su/news.php?extend.1613 | |
* http://gnu.su/news.php?extend.2448 | |
* https://www.opennet.ru/docs/RUS/bash_scripting_guide/x2565.html | |
* http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html | |
* http://www.opennet.ru/docs/RUS/bash_scripting_guide/ | |
* https://raw.githubusercontent.com/olegberman/the-art-of-command-line/master/README-ru.md * | |
| |
| Согласно мануалу по bash, .bash_profile исполняется для оболочек, осуществляющих авторизацию пользователя. .bashrc исполняется для интерактивных оболочек, не авторизующих пользователя. |
| |
| |
| ===== Документация ===== |
| |
| * [[:system:shell:bash:перенаправление_вывода|]] |
| * [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/|http://www.opennet.ru/docs/RUS/bash_scripting_guide/]] |
| * [[http://gnu.su/news.php?extend.1613|http://gnu.su/news.php?extend.1613]] |
| * [[http://gnu.su/news.php?extend.2448|http://gnu.su/news.php?extend.2448]] |
| * [[https://www.opennet.ru/docs/RUS/bash_scripting_guide/x2565.html|https://www.opennet.ru/docs/RUS/bash_scripting_guide/x2565.html]] |
| * [[http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html|http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html]] |
| * [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/|http://www.opennet.ru/docs/RUS/bash_scripting_guide/]] |
| * [[https://raw.githubusercontent.com/olegberman/the-art-of-command-line/master/README-ru.md|https://raw.githubusercontent.com/olegberman/the-art-of-command-line/master/README-ru.md]] |
| * [[http://habrahabr.ru/post/47706/|Частые ошибки программирования на Bash]] |
==== Программирования ==== | ==== Программирования ==== |
| |
* [[bash:основы_bash._часть_1]] :!: | * [[http://habrahabr.ru/post/47706/|http://habrahabr.ru/post/47706/]] 1 часть |
* [[bash:основы_bash._часть_2]] :!: | * [[http://habrahabr.ru/post/47915/|http://habrahabr.ru/post/47915/]] 2 часть |
* http://habrahabr.ru/post/47706/ 1 часть | * [[http://habrahabr.ru/post/48053/|http://habrahabr.ru/post/48053/]] 3 часть |
* http://habrahabr.ru/post/47915/ 2 часть | |
* http://habrahabr.ru/post/48053/ 3 часть | |
* [[http://binsh.ru/2008/12/13/bash-pitfalls-part01.html|Частые ошибки программирования на Bash (часть 1)]] | * [[http://binsh.ru/2008/12/13/bash-pitfalls-part01.html|Частые ошибки программирования на Bash (часть 1)]] |
* [[http://binsh.ru/2008/12/18/bash-pitfalls-part02.html|Частые ошибки программирования на Bash (часть 2)]] | * [[http://binsh.ru/2008/12/18/bash-pitfalls-part02.html|Частые ошибки программирования на Bash (часть 2)]] |
* [[http://binsh.ru/2008/12/22/bash-pitfalls-part03.html|Частые ошибки программирования на Bash (часть 3)]] | * [[http://binsh.ru/2008/12/22/bash-pitfalls-part03.html|Частые ошибки программирования на Bash (часть 3)]] |
* [[http://binsh.ru/2008/12/24/bash-pitfalls-part04.html|Частые ошибки программирования на Bash (часть 4)]] | * [[http://binsh.ru/2008/12/24/bash-pitfalls-part04.html|Частые ошибки программирования на Bash (часть 4)]] |
* [[http://binsh.ru/2008/12/29/bash-pitfalls-part05.html|Частые ошибки программирования на Bash (часть 5)]] | * [[http://binsh.ru/2008/12/29/bash-pitfalls-part05.html|Частые ошибки программирования на Bash (часть 5)]] |
* https://ru.wikipedia.org/wiki/Bash | * [[https://ru.wikipedia.org/wiki/Bash|https://ru.wikipedia.org/wiki/Bash]] |
* [[system:shell:bash:Перенаправление вывода|Перенаправление вывода]] | * [[:system:shell:bash:перенаправление_вывода|Перенаправление вывода]] |
* http://bappoy.pp.ru/2008/12/22/bash-pitfalls-part03.html | * [[http://bappoy.pp.ru/2008/12/22/bash-pitfalls-part03.html|http://bappoy.pp.ru/2008/12/22/bash-pitfalls-part03.html]] |
* [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/|Advanced Bash-Scripting Guide]] | * [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/|Advanced Bash-Scripting Guide]] |
* http://habrahabr.ru/post/151771/ | * [[http://habrahabr.ru/post/151771/|http://habrahabr.ru/post/151771/]] |
* [[http://linux.yaroslavl.ru/docs/conf/gnu-util/bash/bash.html|Особенности работы оболочки bash]] | * [[http://linux.yaroslavl.ru/docs/conf/gnu-util/bash/bash.html|Особенности работы оболочки bash]] |
* [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/|Искусство программирования на языке сценариев командной оболочки]] | * [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/|Искусство программирования на языке сценариев командной оболочки]] |
* http://eddnet.org/?tag=bash | * [[http://eddnet.org/?tag=bash|http://eddnet.org/?tag=bash]] |
| |
====== Видео уроки ====== | ====== Видео уроки ====== |
* [[https://www.youtube.com/watch?v=bk0YBz-VqTo&list=PLRZDRng2SWPggdZOHQJ5iTvp8-UG7OVXD|Удобная работа в Bash]] | * [[https://www.youtube.com/watch?v=bk0YBz-VqTo&list=PLRZDRng2SWPggdZOHQJ5iTvp8-UG7OVXD|Удобная работа в Bash]] |
* [[https://www.youtube.com/watch?v=eH8Z9zeywq0&list=PLTXMX1FE5Hj5ZJDt_WMbioFpdWO5SGy8r|Bash Basics]] | * [[https://www.youtube.com/watch?v=eH8Z9zeywq0&list=PLTXMX1FE5Hj5ZJDt_WMbioFpdWO5SGy8r|Bash Basics]] |
* https://www.youtube.com/playlist?list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09 | * [[https://www.youtube.com/playlist?list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09|https://www.youtube.com/playlist?list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09]] |
| |
===== Применить настройки ===== | ===== Применить настройки ===== |
==== Примеры конфигурационных файлов ==== | ==== Примеры конфигурационных файлов ==== |
| |
* http://www.opennet.ru/docs/RUS/bash_scripting_guide/a15124.html | * [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/a15124.html|http://www.opennet.ru/docs/RUS/bash_scripting_guide/a15124.html]] |
* http://welinux.ru/post/7293/ | * [[http://welinux.ru/post/7293/|http://welinux.ru/post/7293/]] |
* http://rus-linux.net/nlib.php?name=/MyLDP/BOOKS/Bash-Guide-1.12-ru/bash-guide-03-1.html | * [[http://rus-linux.net/nlib.php?name=/MyLDP/BOOKS/Bash-Guide-1.12-ru/bash-guide-03-1.html|http://rus-linux.net/nlib.php?name=/MyLDP/BOOKS/Bash-Guide-1.12-ru/bash-guide-03-1.html]] |
* http://younglinux.info/book/export/html/265 | * [[http://younglinux.info/book/export/html/265|http://younglinux.info/book/export/html/265]] |
| |
===== Примеры ===== | ===== Примеры ===== |
| |
==== Замена текста в файлах с возможностью рекурсии ==== | ==== Замена текста в файлах с возможностью рекурсии ==== |
| <code> |
| |
find ./ -type f -exec sed -i 's/CHARSET=utf8/CHARSET=cp1251/g' {} \; | find ./ -type f -exec sed -i 's/CHARSET=utf8/CHARSET=cp1251/g' {} \; |
| |
| </code> |
| |
==== Прогрессбар ==== | ==== Прогрессбар ==== |
| |
* http://linsovet.org.ua/howto-bash-script-status | * [[http://linsovet.org.ua/howto-bash-script-status|http://linsovet.org.ua/howto-bash-script-status]] |
==== Видео уроки ==== | ==== Видео уроки ==== |
| |
=== RUS === | === RUS === |
| |
| |
* [[https://www.youtube.com/playlist?list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09|ОСНОВЫ РАБОТЫ В КОМАНДНОМ ПРОЦЕССОРЕ SHELL BASH]] | * [[https://www.youtube.com/playlist?list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09|ОСНОВЫ РАБОТЫ В КОМАНДНОМ ПРОЦЕССОРЕ SHELL BASH]] |
* [[https://www.youtube.com/playlist?list=PLRZDRng2SWPggdZOHQJ5iTvp8-UG7OVXD|Linux. Bash]] | * [[https://www.youtube.com/playlist?list=PLRZDRng2SWPggdZOHQJ5iTvp8-UG7OVXD|Linux. Bash]] |
* [[https://www.youtube.com/playlist?list=PLRZDRng2SWPinFcla9GNA5e0zv0YK75-z|Linux. Filesystems]] | * [[https://www.youtube.com/playlist?list=PLRZDRng2SWPinFcla9GNA5e0zv0YK75-z|Linux. Filesystems]] |
| |
=== ENG === | === ENG === |
| |
* https://www.youtube.com/playlist?list=PLtK75qxsQaMIlFCcFZpTBLnaCJ0I0uiaY | * [[https://www.youtube.com/playlist?list=PLtK75qxsQaMIlFCcFZpTBLnaCJ0I0uiaY|https://www.youtube.com/playlist?list=PLtK75qxsQaMIlFCcFZpTBLnaCJ0I0uiaY]] |
* https://www.youtube.com/playlist?list=PLtK75qxsQaMLZSo7KL-PmiRarU7hrpnwK | * [[https://www.youtube.com/playlist?list=PLtK75qxsQaMLZSo7KL-PmiRarU7hrpnwK|https://www.youtube.com/playlist?list=PLtK75qxsQaMLZSo7KL-PmiRarU7hrpnwK]] |
| |