Version 1
[yaffs-website] / vendor / drush / drush / examples / example.bashrc
diff --git a/vendor/drush/drush/examples/example.bashrc b/vendor/drush/drush/examples/example.bashrc
new file mode 100644 (file)
index 0000000..8f7069f
--- /dev/null
@@ -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