Skip to content
andyceo edited this page Oct 15, 2023 · 1 revision

Полезные алиасы команд в bash

Чтобы создать алисасы команд для своего профиля (своего пользователя), нужно создать в своей папке home файл .bash_profile и скопировать туда содержимое файла .profile (т.к. при наличии .bash_profile, .profile не читается), а затем дописать в конец файла следующие алиасы:

#aliases for commands. added by andyceo (see http://dokuwiki.ruware.com/doku.php?id=ubuntu_8.04:bash_alias)

#DRUPAL 6.x
alias d6='cd ~/hosts/drupal6'
alias d6s='cd ~/hosts/drupal6/sites/'
alias d6l='cd ~/hosts/drupal6/sites/libraries'
alias d6p='cd ~/drupal_projects'

alias d6m='cd ~/hosts/drupal6/sites/all/modules'
alias d6mc='cd ~/hosts/drupal6/sites/all/modules/contrib'
alias d6mi='cd ~/hosts/drupal6/sites/all/modules/intecco'
alias d6mr='cd ~/hosts/drupal6/sites/all/modules/ruwaredotcom'

alias d6t='cd ~/hosts/drupal6/sites/all/themes'
alias d6tc='cd ~/hosts/drupal6/sites/all/themes/contrib'
alias d6ti='cd ~/hosts/drupal6/sites/all/themes/intecco'
alias d6tr='cd ~/hosts/drupal6/sites/all/themes/ruwaredotcom'

alias tard6m='tar -zcf ~/hosts/files.ruware.com/d6m.tar.gz ~/hosts/drupal6/sites/all/modules'
alias tard6mc='tar -zcf ~/hosts/files.ruware.com/d6mc.tar.gz ~/hosts/drupal6/sites/all/modules/contrib'

#DRUPAL 7.x
alias d7='cd ~/hosts/drupal7'
alias d7s='cd ~/hosts/drupal7/sites/'
alias d7l='cd ~/hosts/drupal7/sites/libraries'
alias d7p='cd ~/drupal_projects'

alias d7m='cd ~/hosts/drupal7/sites/all/modules'
alias d7mc='cd ~/hosts/drupal7/sites/all/modules/contrib'
alias d7mi='cd ~/hosts/drupal7/sites/all/modules/intecco'
alias d7mr='cd ~/hosts/drupal7/sites/all/modules/ruwaredotcom'

alias d7t='cd ~/hosts/drupal7/sites/all/themes'
alias d7tc='cd ~/hosts/drupal7/sites/all/themes/contrib'
alias d7ti='cd ~/hosts/drupal7/sites/all/themes/intecco'
alias d7tr='cd ~/hosts/drupal7/sites/all/themes/ruwaredotcom'

alias tard7m='tar -zcf ~/hosts/files.ruware.com/d7m.tar.gz ~/hosts/drupal7/sites/all/modules'
alias tard7mc='tar -zcf ~/hosts/files.ruware.com/d7mc.tar.gz ~/hosts/drupal7/sites/all/modules/contrib'

Команды (функции) с аргументами в bash

В файле .bashrc в домашней директории профиля можно добавить следующую функцию для cvs команды извлечения модуля в текущую папку в директорию, равной имени модуля. Вот пример этой команды для модуля coder:

cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r DRUPAL-6--2-0-BETA1 -d coder contributions/modules/coder

#andyceo added
cvsdm () { # for checkout/update drupal module in current directory
  cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r $2 -d $1 contributions/modules/$1
}

Поэтому, для того, чтобы выполнить предыдущую команду, нужно набрать команду:

cvsdm coder DRUPAL-6--2-0-BETA1

Вот полный список полезных функций:

#andyceo added (see http://dokuwiki.ruware.com/doku.php?id=ubuntu_8.04:bash_comargs)
cvsdm () { # for checkout/update drupal module in current directory
  cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r $2 -d $1 contributions/modules/$1
}

cvsdt () { # for checkout/update drupal theme in current directory
  cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r $2 -d $1 contributions/themes/$1
}

cvsdp () { # for checkout/update drupal profile in current directory
  cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r $2 -d $1 contributions/profiles/$1
}

Подстановки переменных

+--------------------+----------------------+-----------------+-----------------+
|                    |       parameter      |     parameter   |    parameter    |
|                    |   Set and Not Null   |   Set But Null  |      Unset      |
+--------------------+----------------------+-----------------+-----------------+
| ${parameter:-word} | substitute parameter | substitute word | substitute word |
| ${parameter-word}  | substitute parameter | substitute null | substitute word |
| ${parameter:=word} | substitute parameter | assign word     | assign word     |
| ${parameter=word}  | substitute parameter | substitute null | assign word     |
| ${parameter:?word} | substitute parameter | error, exit     | error, exit     |
| ${parameter?word}  | substitute parameter | substitute null | error, exit     |
| ${parameter:+word} | substitute word      | substitute null | substitute null |
| ${parameter+word}  | substitute word      | substitute word | substitute null |
+--------------------+----------------------+-----------------+-----------------+

Ссылка: How to check if a variable is set in Bash?

Проверки переменных

+-----------------------+-------+-------+-----------+
|               VAR is: | unset | empty | non-empty |
+-----------------------+-------+-------+-----------+
| [ -z "${VAR}" ]       | true  | true  | false     |
| [ -z "${VAR+set}" ]   | true  | false | false     |
| [ -z "${VAR-unset}" ] | false | true  | false     |
| [ -n "${VAR}" ]       | false | false | true      |
| [ -n "${VAR+set}" ]   | false | true  | true      |
| [ -n "${VAR-unset}" ] | true  | false | true      |
+-----------------------+-------+-------+-----------+

Ссылка: How to determine if a bash variable is empty?

Проверки для файлов и директорий

  • if [ -d "$DIRECTORY" ]; then: проверка что папка существует. Символическая ссылка также пройдет проверку
  • if [ -L "$LINK_OR_DIR" ]; then: сработает, если $LINK_OR_DIR является символической ссылкой

Ссылки:

sh операторы в if

Сравнения:

-eq | equal to
-ne | not equal to
-lt | less than
-le | less than or equal to
-gt | greater than
-ge | greater than or equal to

Файловые операции

-s | file exists and is not empty
-f | file exists and is not a directory
-d | directory exists
-x | file is executable
-w | file is writable
-r | file is readable

Ссылки:

Ведение истории (команда history)

Управлять ведением истории можно с помощью файла ~/.bashrc и специальных переменных окружения.

mcedit ~/.bashrc

HISTCONTROL=ignoreboth:erasedups
HISTIGNORE='history:exit:df:df *:cd:cd ..*:ls:ls *:git *:mc:sudo mc:htop:lscpu:ps:pip list'
HISTSIZE=1000000
HISTFILESIZE=1000000

source ~/.bashrc

Ссылки:

Разное

  • Как узнать какой shell я использую?

      $ echo $0
      -bash
    

    или

      $ echo $SHELL
      /bin/bash
    

Sidebar is under construction

Clone this wiki locally