parent
94e0aa9490
commit
28eb7a0d98
1 changed files with 67 additions and 0 deletions
@ -0,0 +1,67 @@ |
||||
#!/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 |
||||
|
||||
|
Loading…
Reference in new issue