if [ $? -eq 0 ]; then
# there was no error, so we can skip the inits.
if [ ! -z "$SHELL_DEBUG" ]; then
- echo skipping functions.sh because already defined.
+ echo "skipping function definitions, because already defined."
fi
skip_all=yes
fi
if [ -z "$skip_all" ]; then
+
if [ ! -z "$SHELL_DEBUG" ]; then
- echo function definitions begin...
+ echo "feisty meow function definitions beginning now..."
fi
-
+
# a handy little method that can be used for date strings. it was getting
# really tiresome how many different ways the script did the date formatting.
function date_stringer() {
fi
}
- # checks the result of the last command that was run, and if it failed,
+ # checks the result of the last command that was run, and if that failed,
# then this complains and exits from bash. the function parameters are
# used as the message to print as a complaint.
function check_result()
# we 'type' the file to get rid of the unicode result from wmic.
cmd $flag type "$tmppid" >$PID_DUMP
\rm "$tmppid"
-# local CR='
-#' # embedded carriage return.
-# local appropriate_pattern="s/^.* *\([0-9][0-9]*\)[ $CR]*\$/\1/p"
local appropriate_pattern="s/^.* *\([0-9][0-9]*\) *\$/\1/p"
for i in "${patterns[@]}"; do
PIDS_SOUGHT+=($(cat $PID_DUMP \
# recreates all the generated files that the feisty meow scripts use.
function regenerate() {
+ # do the bootstrapping process again.
+ echo "regenerating feisty meow script environment."
bash $FEISTY_MEOW_SCRIPTS/core/bootstrap_shells.sh
echo
+ # force a full reload by turning off sentinel variable and alias.
+ # the nethack one is used by fred's customizations.
+ # interesting note perhaps: found that the NETHACKOPTIONS variable was
+ # not being unset correctly when preceded by an alias. split them up
+ # like they are now due to that bug.
+ unset -v CORE_ALIASES_LOADED FEISTY_MEOW_GENERATED NECHUNG NETHACKOPTIONS
+ unset -f function_sentinel
+ # reload feisty meow environment in current shell.
+ source $FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh
+ # run nechung oracle to give user a new fortune.
nechung
}
echo "copying custom overrides for $user"
mkdir "$FEISTY_MEOW_GENERATED/custom" 2>/dev/null
perl "$FEISTY_MEOW_SCRIPTS/text/cpdiff.pl" "$FEISTY_MEOW_DIR/customizing/$user" "$FEISTY_MEOW_GENERATED/custom"
- # set up any custom script files which we'll add as aliases.
-# if [ -e "$FEISTY_MEOW_GENERATED/custom/scripts" ]; then
-# echo removing older custom scripts.
-# rm -rf "$FEISTY_MEOW_GENERATED/custom/scripts"
-# fi
if [ -d "$FEISTY_MEOW_DIR/customizing/$user/scripts" ]; then
echo "copying custom scripts for $user"
- cp -R "$FEISTY_MEOW_DIR/customizing/$user/scripts" "$FEISTY_MEOW_GENERATED/custom/"
+ \cp -R "$FEISTY_MEOW_DIR/customizing/$user/scripts" "$FEISTY_MEOW_GENERATED/custom/"
fi
echo
regenerate
}
+#uhhh, this does what now?
function add_cygwin_drive_mounts() {
for i in c d e f g h q z ; do
ln -s /cygdrive/$i $i
done
}
-
# takes a file to modify, and then it will replace any occurrences of the
# pattern provided as the second parameter with the text in the third
# parameter.
sed -i -e "s%$pattern%$replacement%g" "$file"
}
+ function spacem()
+ {
+ while [ $# -gt 0 ]; do
+ arg="$1"; shift
+ if [ ! -f "$arg" -a ! -d "$arg" ]; then
+ echo "failure to find a file or directory named '$arg'."
+ continue
+ fi
+ # first we rename the file to be lower case.
+ perl $FEISTY_MEOW_SCRIPTS/files/renlower.pl "$arg" &>/dev/null
+ # oops, now the name is all lower-case. we need to make the
+ # same adjustment.
+ arg2="$(echo "$arg" | tr A-Z a-z)"
+ # we definitely wanted to adjust the case first, rather than doing all
+ # the wacky stuff this script does to the filename... we will capture
+ # the output of the replace operaton for reporting.
+ final_name="$(perl "$FEISTY_MEOW_SCRIPTS/files/replace_spaces_with_underscores.sh" "$arg2")"
+ # now zap the intermediate part of the name off.
+ final_name="$(echo $final_name | sed -e 's/.*=> //')"
+ # printout the combined operation results.
+ echo "'$arg' => $final_name"
+ done
+ }
+
##############
function function_sentinel() { return 0; }
- if [ ! -z "$SHELL_DEBUG" ]; then echo function definitions end....; fi
+ if [ ! -z "$SHELL_DEBUG" ]; then echo "feisty meow function definitions done."; fi
fi