X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fdrush%2Fdrush%2Fexamples%2Fexample.bashrc;fp=vendor%2Fdrush%2Fdrush%2Fexamples%2Fexample.bashrc;h=8f7069f97152fb63849412b0b16ce5c03a7ae6c3;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/vendor/drush/drush/examples/example.bashrc b/vendor/drush/drush/examples/example.bashrc new file mode 100644 index 000000000..8f7069f97 --- /dev/null +++ b/vendor/drush/drush/examples/example.bashrc @@ -0,0 +1,263 @@ +# -*- mode: shell-script; mode: flyspell-prog; ispell-local-dictionary: "american" -*- +# +# Example bash aliases to improve your Drush experience with bash. +# Use `drush init` to copy this file to your home directory, rename and +# customize it to suit, and source it from your ~/.bashrc file. +# +# Creates aliases to common Drush commands that work in a global context: +# +# dr - drush +# ddd - drush drupal-directory +# dl - drush pm-download +# ev - drush php-eval +# sa - drush site-alias +# sa - drush site-alias --local-only (show local site aliases) +# st - drush core-status +# use - drush site-set +# +# Aliases for Drush commands that work on the current drupal site: +# +# cc - drush cache-clear +# cr - drush cache-rebuild +# cca - drush cache-clear all +# dis - drush pm-disable +# en - drush pm-enable +# i - drush pm-info +# pml - drush pm-list +# rf - drush pm-refresh +# unin - drush pm-uninstall +# up - drush pm-update +# upc - drush pm-updatecode +# updb - drush updatedb +# q - drush sql-query +# +# Provides several common shell commands to work better with Drush: +# +# ddd @dev - print the path to the root directory of @dev +# cdd @dev - change the current working directory to @dev +# lsd @dev - ls root folder of @dev +# lsd %files - ls "files" directory of current site +# lsd @dev:%devel - ls devel module directory in @dev +# @dev st - drush @dev core-status +# dssh @live - ssh to the remote server @live points at +# gitd @live pull - run `git pull` on the drupal root of @live +# +# Drush site alias expansion is also done for the cpd command: +# +# cpd -R @site1:%files @site2:%files +# +# Note that the 'cpd' alias only works for local sites. Use +# `drush rsync` or gitd` to move files between remote sites. +# +# Aliases are also possible for the following standard +# commands. Uncomment their definitions below as desired. +# +# cd - cddl [*] +# ls - lsd +# cp - cpd +# ssh - dssh +# git - gitd +# +# These standard commands behave exactly the same as they always +# do, unless a Drush site specification such as @dev or @live:%files +# is used in one of the arguments. + +# Aliases for common Drush commands that work in a global context. +alias dr='drush' +alias ddd='drush drupal-directory' +alias dl='drush pm-download' +alias ev='drush php-eval' +alias sa='drush site-alias' +alias lsa='drush site-alias --local-only' +alias st='drush core-status' +alias use='drush site-set' + +# Aliases for Drush commands that work on the current drupal site +alias cc='drush cache-clear' +alias cr='drush cache-rebuild' +alias cca='drush cache-clear all' +alias dis='drush pm-disable' +alias en='drush pm-enable' +alias pmi='drush pm-info' +alias pml='drush pm-list' +alias rf='drush pm-refresh' +alias unin='drush pm-uninstall' +alias up='drush pm-update' +alias upc='drush pm-updatecode' +alias updb='drush updatedb' +alias q='drush sql-query' + +# Overrides for standard shell commands. Uncomment to enable. Alias +# cd='cdd' if you want to be able to use cd @remote to ssh to a +# remote site. + +# alias cd='cddl' +# alias ls='lsd' +# alias cp='cpd' +# alias ssh='dssh' +# alias git='gitd' + +# We extend the cd command to allow convenient +# shorthand notations, such as: +# cd @site1 +# cd %modules +# cd %devel +# cd @site2:%files +# You must use 'cddl' instead of 'cd' if you are not using +# the optional 'cd' alias from above. +# This is the "local-only" version of the function; +# see the cdd function, below, for an expanded implementation +# that will ssh to the remote server when a remote site +# specification is used. +function cddl() { + fastcddl "$1" + use @self +} + +# Use this function instead of 'cddl' if you have a very large number +# of alias files, and the 'cddl' function is getting too slow as a result. +# This function does not automatically set your prompt to the site that +# you 'cd' to, as 'cddl' does. +function fastcddl() { + s="$1" + if [ -z "$s" ] + then + builtin cd + elif [ "${s:0:1}" == "@" ] || [ "${s:0:1}" == "%" ] + then + d="$(drush drupal-directory $1 --local-only 2>/dev/null)" + if [ $? == 0 ] + then + echo "cd $d"; + builtin cd "$d"; + else + t="$(drush site-alias $1 >/dev/null 2>/dev/null)" + if [ $? == 0 ] + then + echo "Cannot cd to remote site $s" + else + echo "Cannot cd to $s" + fi + fi + else + builtin cd "$s"; + fi +} + +# Works just like the `cddl` shell alias above, with one additional +# feature: `cdd @remote-site` works like `ssh @remote-site`, +# whereas cd above will fail unless the site alias is local. If +# you prefer this behavior, you can add `alias cd='cdd'` to your .bashrc +function cdd() { + s="$1" + if [ -z "$s" ] + then + builtin cd + elif [ "${s:0:1}" == "@" ] || [ "${s:0:1}" == "%" ] + then + d="$(drush drupal-directory $s 2>/dev/null)" + rh="$(drush sa ${s%%:*} --fields=remote-host --format=list)" + if [ -z "$rh" ] + then + echo "cd $d" + builtin cd "$d" + else + if [ -n "$d" ] + then + c="cd \"$d\" \; bash" + drush -s ${s%%:*} ssh --tty + drush ${s%%:*} ssh --tty + else + drush ssh ${s%%:*} + fi + fi + else + builtin cd "$s" + fi +} + +# Allow `git @site gitcommand` as a shortcut for `cd @site; git gitcommand`. +# Also works on remote sites, though. +function gitd() { + s="$1" + if [ -n "$s" ] && [ ${s:0:1} == "@" ] || [ ${s:0:1} == "%" ] + then + d="$(drush drupal-directory $s 2>/dev/null)" + rh="$(drush sa ${s%%:*} --fields=remote-host --format=list)" + if [ -n "$rh" ] + then + drush ${s%%:*} ssh "cd '$d' ; git ${@:2}" + else + echo cd "$d" \; git "${@:2}" + ( + cd "$d" + "git" "${@:2}" + ) + fi + else + "git" "$@" + fi +} + +# Get a directory listing on @site or @site:%files, etc, for local or remote sites. +function lsd() { + p=() + r= + for a in "$@" ; do + if [ ${a:0:1} == "@" ] || [ ${a:0:1} == "%" ] + then + p[${#p[@]}]="$(drush drupal-directory $a 2>/dev/null)" + if [ ${a:0:1} == "@" ] + then + rh="$(drush sa ${a%:*} --fields=remote-host --format=list)" + if [ -n "$rh" ] + then + r=${a%:*} + fi + fi + elif [ -n "$a" ] + then + p[${#p[@]}]="$a" + fi + done + if [ -n "$r" ] + then + drush $r ssh 'ls "${p[@]}"' + else + "ls" "${p[@]}" + fi +} + +# Copy files from or to @site or @site:%files, etc; local sites only. +function cpd() { + p=() + for a in "$@" ; do + if [ ${a:0:1} == "@" ] || [ ${a:0:1} == "%" ] + then + p[${#p[@]}]="$(drush drupal-directory $a --local-only 2>/dev/null)" + elif [ -n "$a" ] + then + p[${#p[@]}]="$a" + fi + done + "cp" "${p[@]}" +} + +# This alias allows `dssh @site` to work like `drush @site ssh`. +# Ssh commands, such as `dssh @site ls /tmp`, are also supported. +function dssh() { + d="$1" + if [ ${d:0:1} == "@" ] + then + drush "$d" ssh "${@:2}" + else + "ssh" "$@" + fi +} + +# Drush checks the current PHP version to ensure compatibility, and fails with +# an error if less than the supported minimum (currently 5.4.5). If you would +# like to try to run Drush on a lower version of PHP, you can un-comment the +# line below to skip this check. Note, however, that this is un-supported. + +# DRUSH_NO_MIN_PHP=TRUE