Custom HPC software & tools from Wirawan. Primarily tailored toward ODU HPC sytems.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.1 KiB

#!/bin/bash
#
# Extended squeue wrapper
#
# Wirawan Purwanto
# Created: 20180720
shopt -s extglob
set -e
optAllUsers=0
optHasUsers=0
optHasFormat=0
optSlurmFlags=()
FORMAT_DEFAULT="%.18i %.9P %.20j %.9u %.2t %.12M %.12l %.5D %R"
function ParseArgs()
{
local i
local nopass
local args args_count arg
args=( "zeroth-arg-not-used" "$@" )
args_count=$#
for ((i = 1; i <= args_count; ++i)); do
arg="${!i}"
case "$arg" in
# This script's options
(+a)
optAllUsers=1
;;
(+*)
: # ignore
;;
(-*|*)
optSlurmFlags[ ${#optSlurmFlags[@]} ]="$arg"
case "$arg" in
(-u*|--user?(=*))
optHasUsers=1
;;
(-l|-s|--long|--steps|-o|--format?(=*))
optHasFormat=1
;;
esac
;;
esac
done
}
function do_squeue()
{
# My old default is to show jobs for me only:
if ! (( optHasUsers || optAllUsers )); then
optSlurmFlags=( "${optSlurmFlags[@]}" -u "$USER" )
fi
if ! (( optHasFormat )); then
optSlurmFlags=( "${optSlurmFlags[@]}" -o "$FORMAT_DEFAULT" )
fi
squeue "${optSlurmFlags[@]}"
}
ParseArgs "$@"
do_squeue