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 ...