Syntax highlighting of linux/bash
[TOC] # Bash Scripting [Linux Wiki](https://moin.onrails.ru/Linux%20Wiki) ## Статьи [BASH, основы навигации](https://habrahabr.ru/post/99041/) [Управление файлами и директориями](https://habrahabr.ru/post/99291/) [Ссылки, а также удаление файлов и директорий](https://habrahabr.ru/post/99653/) [Glob-подстановки](https://habrahabr.ru/post/99827/) [Advanced Bash Scripting](http://www.tldp.org/LDP/abs/html/) [Цикл статей на habr](https://habr.com/ru/company/ruvds/blog/325522/) [Книга](http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html) [Colors and formatting](https://misc.flogisoft.com/bash/tip_colors_and_formatting) ## .bashrc ```bash alias is='docker images' alias cs='docker ps' alias csa='docker ps -a' alias rmcs='docker rm $(docker ps -a -q)' alias rmis="docker rmi $(docker images | grep '<none>' | awk '{print $3}')" ``` ## Recipes ### Script Example Небольшой сценарий - псевдоним Создаем файл `foo.sh` ```bash #!/usr/bin/env bash # комментарий command arg1 arg2 arg3 "$@" ``` Назначаем режим исполнения ```bash chmod 755 foo.sh ``` Запускаем ```bash foo.sh arg4 arg5 #=> command arg1 arg2 arg3 arg4 arg5 ``` ### Substring ```bash FOO=release-1.2.3 echo ${FOO#release-} #=> 1.2.3 ``` ### Change String ```bash export SRC_FILE=kube-linter/config.yaml export ENCODED_SRC_FILE=$(echo $SRC_FILE | awk '{gsub("/", "%2F"); print}' | awk '{gsub("\.", "%2E"); print}') echo $ENCODED_SRC_FILE # kube-linter%2Fconfig%2Eyaml ``` ### Existing ```bash export FOO="123" if [[ $FOO ]]; then echo 'foo is exists'; else echo 'foo blank'; fi #=> foo is exists unset FOO if [[ $FOO ]]; then echo 'foo is exists'; else echo 'foo blank'; fi #=> foo blank export FOO="" if [[ $FOO ]]; then echo 'foo is exists'; else echo 'foo blank'; fi #=> foo blank ``` ### Join search result ```bash export FOO=$(find . -name 'jacoco*.xml' | paste -s -d ',' -) echo $FOO # ./calc-impl/build/reports/jacoco/test/jacocoTestReport.xml,./calc-api/build/reports/jacoco/test/jacocoTestReport.xml export BAR=$(find . -not -regex '.*/tmp/.*' -name '*.jar' | paste -s -d ',' -) echo $BAR # ./calc-impl/build/libs/calc-impl.jar,./calc-library/build/libs/calc-library.jar,./buildSrc/build/libs/buildSrc.jar,./calc-api/build/libs/calc-api.jar ``` > Written with [StackEdit](https://stackedit.io/).
