In /usr/bin/scr_run line 8:
libdir="/usr/lib/x86_64-linux-gnu"
^----^ SC2034: libdir appears unused. Verify use (or export if used externally).


In /usr/bin/scr_run line 56:
  $launcher $launcher_args $run_cmd
            ^------------^ SC2086: Double quote to prevent globbing and word splitting.
                           ^------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  $launcher "$launcher_args" "$run_cmd"


In /usr/bin/scr_run line 62:
  if [ $SCR_DEBUG -gt 0 ] ; then
       ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  if [ "$SCR_DEBUG" -gt 0 ] ; then


In /usr/bin/scr_run line 68:
timestamp=`date`
          ^----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
timestamp=$(date)


In /usr/bin/scr_run line 73:
if [ $? -ne 0 ] ; then
     ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 80:
jobid=`$bindir/scr_env --jobid`
      ^-----------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
jobid=$($bindir/scr_env --jobid)


In /usr/bin/scr_run line 86:
  nodelist=`$bindir/scr_env --nodes`
           ^-----------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
  nodelist=$($bindir/scr_env --nodes)


In /usr/bin/scr_run line 87:
  if [ $? -eq 0 ] ; then
       ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 98:
prefix=`$bindir/scr_prefix`
       ^------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
prefix=$($bindir/scr_prefix)


In /usr/bin/scr_run line 106:
cntldir=`$bindir/scr_list_dir control`
        ^----------------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
cntldir=$($bindir/scr_list_dir control)


In /usr/bin/scr_run line 107:
if [ $? -ne 0 ] ; then
     ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 117:
timestamp=`date`
          ^----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
timestamp=$(date)


In /usr/bin/scr_run line 121:
$bindir/scr_prerun -p $prefix
                      ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
$bindir/scr_prerun -p "$prefix"


In /usr/bin/scr_run line 122:
if [ $? -ne 0 ] ; then
     ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 131:
  nnodes=`$bindir/scr_glob_hosts --count --hosts $SCR_NODELIST`
         ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                 ^-----------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  nnodes=$($bindir/scr_glob_hosts --count --hosts "$SCR_NODELIST")


In /usr/bin/scr_run line 132:
  srun -q -Q --disable-status -W 0 -n${nnodes} -N${nnodes} $bindir/scr_transfer $cntldir/transfer.scrinfo $redirect &
                                     ^-------^ SC2086: Double quote to prevent globbing and word splitting.
                                                 ^-------^ SC2086: Double quote to prevent globbing and word splitting.
                                                                                ^------^ SC2086: Double quote to prevent globbing and word splitting.
                                                                                                          ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  srun -q -Q --disable-status -W 0 -n"${nnodes}" -N"${nnodes}" $bindir/scr_transfer "$cntldir"/transfer.scrinfo "$redirect" &


In /usr/bin/scr_run line 140:
runs=$(($runs + 1))
        ^---^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/scr_run line 142:
while [ 1 ] ; do
        ^-- SC2161: Instead of '[ 1 ]', use 'true'.


In /usr/bin/scr_run line 163:
  down_nodes=`$bindir/scr_list_down_nodes $free_flag $keep_down`
             ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                     ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  down_nodes=$($bindir/scr_list_down_nodes $free_flag "$keep_down")


In /usr/bin/scr_run line 166:
    $bindir/scr_list_down_nodes $free_flag $keep_down --log --reason --secs 0
                                           ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    $bindir/scr_list_down_nodes $free_flag "$keep_down" --log --reason --secs 0


In /usr/bin/scr_run line 170:
      start_secs=`date +%s`
                 ^--------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
      start_secs=$(date +%s)


In /usr/bin/scr_run line 179:
    num_needed=`$bindir/scr_glob_hosts --count --hosts $SCR_NODELIST`
               ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                       ^-----------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    num_needed=$($bindir/scr_glob_hosts --count --hosts "$SCR_NODELIST")


In /usr/bin/scr_run line 185:
      num_needed_env=`$bindir/scr_env --prefix $prefix --runnodes`
                     ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                               ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
      num_needed_env=$($bindir/scr_env --prefix "$prefix" --runnodes)


In /usr/bin/scr_run line 186:
      if [ $? -eq 0 ] ; then
           ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 187:
        if [ $num_needed_env -gt 0 ] ; then
             ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
        if [ "$num_needed_env" -gt 0 ] ; then


In /usr/bin/scr_run line 195:
    num_left=`$bindir/scr_glob_hosts --count --minus $SCR_NODELIST:$down_nodes`
             ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                                     ^-----------^ SC2086: Double quote to prevent globbing and word splitting.
                                                                   ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    num_left=$($bindir/scr_glob_hosts --count --minus "$SCR_NODELIST":"$down_nodes")


In /usr/bin/scr_run line 196:
    if [ $num_left -lt $num_needed ] ; then
         ^-------^ SC2086: Double quote to prevent globbing and word splitting.
                       ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ "$num_left" -lt "$num_needed" ] ; then


In /usr/bin/scr_run line 206:
  attempts=$(($attempts + 1))
              ^-------^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/scr_run line 207:
  timestamp=`date`
            ^----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
  timestamp=$(date)


In /usr/bin/scr_run line 212:
      restart_name=`$launcher $launcher_args $bindir/scr_have_restart`
                   ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                              ^------------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
      restart_name=$($launcher "$launcher_args" $bindir/scr_have_restart)


In /usr/bin/scr_run line 214:
          my_restart_cmd=`echo $restart_cmd | sed "s#SCR_CKPT_NAME#${restart_name}#g"`
                         ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                          ^-- SC2001: See if you can use ${variable//search/replace} instead.
                               ^----------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
          my_restart_cmd=$(echo "$restart_cmd" | sed "s#SCR_CKPT_NAME#${restart_name}#g")


In /usr/bin/scr_run line 220:
  start_secs=`date +%s`
             ^--------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
  start_secs=$(date +%s)


In /usr/bin/scr_run line 221:
  $bindir/scr_log_event -T "RUN STARTED" -N "Job=$jobid, Run=$attempts" -S $start_secs
                                                                           ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  $bindir/scr_log_event -T "RUN STARTED" -N "Job=$jobid, Run=$attempts" -S "$start_secs"


In /usr/bin/scr_run line 224:
     $launcher $exclude $launch_cmd
               ^------^ SC2086: Double quote to prevent globbing and word splitting.
                        ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
     $launcher "$exclude" "$launch_cmd"


In /usr/bin/scr_run line 228:
     $launcher $exclude $launch_cmd &
               ^------^ SC2086: Double quote to prevent globbing and word splitting.
                        ^---------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
     $launcher "$exclude" "$launch_cmd" &


In /usr/bin/scr_run line 232:
     jobstepid=`$bindir/scr_get_jobstep_id $srun_pid`;
               ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
     jobstepid=$($bindir/scr_get_jobstep_id $srun_pid);


In /usr/bin/scr_run line 234:
     if [ $jobstepid != "-1" ]; then
          ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
     if [ "$jobstepid" != "-1" ]; then


In /usr/bin/scr_run line 235:
         $bindir/scr_watchdog --dir $prefix --jobStepId $jobstepid &
                                    ^-----^ SC2086: Double quote to prevent globbing and word splitting.
                                                        ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
         $bindir/scr_watchdog --dir "$prefix" --jobStepId "$jobstepid" &


In /usr/bin/scr_run line 245:
  end_secs=`date +%s`
           ^--------^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
  end_secs=$(date +%s)


In /usr/bin/scr_run line 246:
  run_secs=$(($end_secs - $start_secs))
              ^-------^ SC2004: $/${} is unnecessary on arithmetic variables.
                          ^---------^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/scr_run line 249:
  $bindir/scr_list_down_nodes $keep_down --log --reason --secs $run_secs
                              ^--------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  $bindir/scr_list_down_nodes "$keep_down" --log --reason --secs $run_secs


In /usr/bin/scr_run line 252:
  $bindir/scr_log_event -T "RUN ENDED" -N "Job=$jobid, Run=$attempts" -S $end_secs -L $run_secs
                                                                         ^-------^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  $bindir/scr_log_event -T "RUN ENDED" -N "Job=$jobid, Run=$attempts" -S "$end_secs" -L $run_secs


In /usr/bin/scr_run line 255:
  if [ $runs -gt -1 ] ; then
       ^---^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  if [ "$runs" -gt -1 ] ; then


In /usr/bin/scr_run line 256:
    runs=$(($runs - 1))
            ^---^ SC2004: $/${} is unnecessary on arithmetic variables.


In /usr/bin/scr_run line 264:
  $bindir/scr_retries_halt --dir $prefix;
                                 ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  $bindir/scr_retries_halt --dir "$prefix";


In /usr/bin/scr_run line 265:
  if [ $? == 0 ] ; then
       ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 274:
  $bindir/scr_retries_halt --dir $prefix;
                                 ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  $bindir/scr_retries_halt --dir "$prefix";


In /usr/bin/scr_run line 275:
  if [ $? == 0 ] ; then
       ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 291:
  $bindir/scr_halt --immediate $prefix
                               ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
  $bindir/scr_halt --immediate "$prefix"


In /usr/bin/scr_run line 295:
timestamp=`date`
          ^----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
timestamp=$(date)


In /usr/bin/scr_run line 299:
$bindir/scr_postrun -p $prefix
                       ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean: 
$bindir/scr_postrun -p "$prefix"


In /usr/bin/scr_run line 300:
if [ $? -ne 0 ] ; then
     ^-- SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In /usr/bin/scr_run line 306:
  echo "$kill -n KILL $watchdog_pid";
        ^---^ SC2154: kill is referenced but not assigned (for output from commands, use "$(kill ...)" ).


In /usr/bin/scr_run line 311:
timestamp=`date`
          ^----^ SC2006: Use $(...) notation instead of legacy backticked `...`.

Did you mean: 
timestamp=$(date)

For more information:
  https://www.shellcheck.net/wiki/SC2034 -- libdir appears unused. Verify use...
  https://www.shellcheck.net/wiki/SC2154 -- kill is referenced but not assign...
  https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...