Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>bash sh shell command}} ====== BASH, SH ====== * [[:bash:developing|Программирование]] :!: * [[:system:shopt|Настройки]] * [[:bash:bash-completion|]] * [[:bash:keys|]] * [[:unix:commands|]] :!: * [[:unix:admin|]] * [[:develop:shell|]] ====== Переменные и конфиг файлы ====== <code> +-----------------+ +------FIRST-------+ +-----------------+ | | | ~/.bash_profile | | | login shell -------->| /etc/profile |-->| ~/.bash_login ------>| ~/.bashrc | | | | ~/.profile | | | +-----------------+ +------------------+ +-----------------+ +-----------------+ +-----------------+ | | | | interactive shell -->| ~/.bashrc -------->| /etc/bashrc | | | | | +-----------------+ +-----------------+ +-----------------+ | | logout shell ------->| ~/.bash_logout | | | +-----------------+ </code> * []-->[] - запускается автоматически * [--->[] - запускается если прописан или в ручную. * FIRST - находит первый доступный, остальные игнорируются Несколько примечаний: * «интерактивная оболочка» должна быть «интерактивной оболочкой без входа в систему», а «оболочка входа в систему» должна быть «интерактивной оболочкой входа в систему». * Кроме того, по крайней мере, в Ubuntu, для интерактивных оболочек без входа в систему /etc/bash.bashrc сначала читается ~/.bashrc. Обратите внимание, что /etc/bash.bashrc его нет в ванильном GNU Bash, это модификация, которую делают многие дистрибутивы. Согласно мануалу по 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]] ==== Программирования ==== * [[http://habrahabr.ru/post/47706/|http://habrahabr.ru/post/47706/]] 1 часть * [[http://habrahabr.ru/post/47915/|http://habrahabr.ru/post/47915/]] 2 часть * [[http://habrahabr.ru/post/48053/|http://habrahabr.ru/post/48053/]] 3 часть * [[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/22/bash-pitfalls-part03.html|Частые ошибки программирования на Bash (часть 3)]] * [[http://binsh.ru/2008/12/24/bash-pitfalls-part04.html|Частые ошибки программирования на Bash (часть 4)]] * [[http://binsh.ru/2008/12/29/bash-pitfalls-part05.html|Частые ошибки программирования на Bash (часть 5)]] * [[https://ru.wikipedia.org/wiki/Bash|https://ru.wikipedia.org/wiki/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://www.opennet.ru/docs/RUS/bash_scripting_guide/|Advanced Bash-Scripting Guide]] * [[http://habrahabr.ru/post/151771/|http://habrahabr.ru/post/151771/]] * [[http://linux.yaroslavl.ru/docs/conf/gnu-util/bash/bash.html|Особенности работы оболочки bash]] * [[http://www.opennet.ru/docs/RUS/bash_scripting_guide/|Искусство программирования на языке сценариев командной оболочки]] * [[http://eddnet.org/?tag=bash|http://eddnet.org/?tag=bash]] ====== Видео уроки ====== * [[https://www.youtube.com/watch?v=HwhMyGUGxZ0&list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09|SHELL 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/playlist?list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09|https://www.youtube.com/playlist?list=PLLyG9JTjVd9VTEKisukGLJhl8H2YeIN09]] ===== Применить настройки ===== * source ~/.bashrc ==== Примеры конфигурационных файлов ==== * [[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://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]] ===== Примеры ===== ==== Замена текста в файлах с возможностью рекурсии ==== <code> 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]] ==== Видео уроки ==== === RUS === * [[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=PLRZDRng2SWPinFcla9GNA5e0zv0YK75-z|Linux. Filesystems]] === ENG === * [[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]] СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal