move promote_pipe_return to core functions
[feisty_meow.git] / scripts / core / functions.sh
index d1b9311e5a9a6ad916a7d341cfa1b462fd1b0dda..a8e00f22364fa04386eabd7b8ef82289806ff661 100644 (file)
@@ -40,15 +40,25 @@ if [ -z "$skip_all" ]; then
     cd "$1"
   }
 
+  # returns true if the variable is an array.
   function is_array() {
     [[ "$(declare -p $1)" =~ "declare -a" ]]
   }
 
+  # returns true if the name provided is a defined alias.
   function is_alias() {
     alias $1 &>/dev/null
     return $?
   }
 
+  # makes the status of pipe number N (passed as first parameter) into the
+  # main return value (i.e., the value for $?).  this is super handy to avoid
+  # repeating the awkward looking code below in multiple places.
+  function promote_pipe_return()
+  {
+    ( exit ${PIPESTATUS[$1]} )
+  }
+
   ##############
 
   # displays the value of a variable in bash friendly format.