cd "$1"
}
+ # displays the value of a variable in bash friendly format.
+ function var() {
+ while true; do
+ local varname="$1"; shift
+ if [ -z "$varname" ]; then
+ break
+ fi
+ if [ -z "${!varname}" ]; then
+ echo "$varname undefined"
+ else
+ echo "$varname=${!varname}"
+ fi
+ done
+ }
+
function success_sound()
{
if [ ! -z "$CLAM_FINISH_SOUND" ]; then
# locates a process given a search pattern to match in the process list.
function psfind() {
+ local -a patterns=("${@}")
+ mkdir $TEST_TEMP/grid_logs &>/dev/null
local PID_DUMP="$(mktemp "$TMP/zz_pidlist.XXXXXX")"
local PIDS_SOUGHT=()
- local patterns=($*)
if [ "$OS" == "Windows_NT" ]; then
# needs to be a windows format filename for 'type' to work.
if [ ! -d c:/tmp ]; then
# we 'type' the file to get rid of the unicode result from wmic.
cmd $flag type "$tmppid" >$PID_DUMP
\rm "$tmppid"
- local CR='\r' # embedded carriage return.
+ local CR='
+' # embedded carriage return.
local appropriate_pattern="s/^.* *\([0-9][0-9]*\)[ $CR]*\$/\1/p"
+ local -a PIDS_SOUGHT
for i in "${patterns[@]}"; do
- PIDS_SOUGHT+=$(cat $PID_DUMP \
+ PIDS_SOUGHT+=($(cat $PID_DUMP \
| grep -i "$i" \
- | sed -n -e "$appropriate_pattern")
- if [ ${#PIDS_SOUGHT[*]} -ne 0 ]; then
- # we want to bail as soon as we get matches, because on the same
- # platform, the same set of patterns should work to find all
- # occurrences of the genesis java.
- break;
- fi
+ | sed -n -e "$appropriate_pattern"))
done
else
/bin/ps $extra_flags wuax >$PID_DUMP
# remove the first line of the file, search for the pattern the
# user wants to find, and just pluck the process ids out of the
# results.
+ local -a PIDS_SOUGHT
for i in "${patterns[@]}"; do
- PIDS_SOUGHT=$(cat $PID_DUMP \
+ PIDS_SOUGHT+=($(cat $PID_DUMP \
| sed -e '1d' \
| grep -i "$i" \
- | sed -n -e "$appropriate_pattern")
- if [ ${#PIDS_SOUGHT[*]} -ne 0 ]; then
- # we want to bail as soon as we get matches, because on the same
- # platform, the same set of patterns should work to find all
- # occurrences of the genesis java.
- break;
- fi
+ | sed -n -e "$appropriate_pattern"))
done
fi
- if [ ! -z "$PIDS_SOUGHT" ]; then echo "$PIDS_SOUGHT"; fi
+ if [ ${#PIDS_SOUGHT[*]} -ne 0 ]; then echo ${PIDS_SOUGHT[*]}; fi
/bin/rm $PID_DUMP
}