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.
# version for the other side (just 'linux'); we don't want the remote side still
# thinking it's running xterm.
save_terminal_title
+ if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then
+ echo TERM saved is: $PRIOR_TERMINAL_TITLE
+ fi
#hmmm: why were we doing this? it scorches the user's logged in session, leaving it without proper terminal handling.
# # we save the value of TERM; we don't want to leave the user's terminal
# # brain dead once we come back from this function.
/usr/bin/ssh -X -C "${args[@]}"
# # restore the terminal variable also.
# TERM="$oldterm"
+ if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then
+ echo TERM before restore, will use prior title of: $PRIOR_TERMINAL_TITLE
+ fi
restore_terminal_title
+ if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then
+ echo TERM title restored to prior value
+ fi
}
##############
save_terminal_title
if [ ! -d "$FEISTY_MEOW_SCRIPTS/customize/$custom_user" ]; then
- echo "The customization folder for '$custom_user' would be:"
- echo " $FEISTY_MEOW_SCRIPTS/customize/$custom_user"
- echo "but that folder does not exist. Skipping recustomization."
+ echo -e "the customization folder for '$custom_user' is missing:
+
+ $FEISTY_MEOW_SCRIPTS/customize/$custom_user
+
+we will skip recustomization, but these other customizations are available:
+"
+ # a little tr and sed magic to fix the carriage returns into commas.
+ local line="$(find $FEISTY_MEOW_SCRIPTS/customize -mindepth 1 -maxdepth 1 -type d -exec basename {} ';' | tr '\n' '&' | sed 's/&/, /g' | sed -e 's/, $//')"
+ # make the line feeds and carriage returns manageable with tr.
+ # convert the ampersand, our weird replacement for EOL, with a comma + space in sed.
+ # last touch with sed removes the last comma.
+ echo " $line"
return 1
fi
local fail_message="\n
are the perl dependencies installed? if you're on ubuntu or debian, try this:\n
- $(grep "apt-get.*perl" $FEISTY_MEOW_APEX/readme.txt)\n
+ $(grep "apt.*perl" $FEISTY_MEOW_APEX/readme.txt)\n
or if you're on cygwin, then try this (if apt-cyg is available):\n
$(grep "apt-cyg.*perl" $FEISTY_MEOW_APEX/readme.txt)\n";