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