Index: utils/nbfake ================================================================== --- utils/nbfake +++ utils/nbfake @@ -1,7 +1,35 @@ #!/bin/bash +############################################################################### +# +# nbfake - capture command output in a logfile +# +# nbfake behavior can be changed by setting the following env vars: +# NBFAKE_HOST SSH to $NBFAKE_HOST and run command +# NBFAKE_LOG Logfile for nbfake output +# +############################################################################### + +echo SHELL=$SHELL +if [[ -z "$@" ]]; then + cat <<__EOF + +nbfake usage: + +nbfake + +nbfake behavior can be changed by setting the following env vars: + NBFAKE_HOST SSH to \$NBFAKE_HOST and run command + NBFAKE_LOG Logfile for nbfake output + +__EOF + exit +fi +#============================================================================== +# Setup +#============================================================================== # Can't always trust $PWD CURRWD=$(pwd) # Make sure nbfake host and logfile are set. Fall back to old-style variable names @@ -11,20 +39,26 @@ if [[ -z "$NBFAKE_LOG" && -n "$TARGETHOST_LOGF" ]]; then NBFAKE_LOG=$TARGETHOST_LOGF; fi # Set default nbfake log if [[ -z "$NBFAKE_LOG" ]]; then - NBFAKE_LOG=NBFAKE-$(date +%GWW%V.%u_%T) + NBFAKE_LOG=NBFAKE-$(date +%GWW%V.%u_%T) fi + +#============================================================================== +# Run and log +#============================================================================== cat <<__EOF >&2 #====================================================================== # NBFAKE logging command to: $NBFAKE_LOG # $* #====================================================================== __EOF if [[ -z "$NBFAKE_HOST" ]]; then + # Run locally sh -c "cd $CURRWD;export DISPLAY=$DISPLAY; export PATH=$PATH; nohup $* >> $NBFAKE_LOG 2>&1 &" else + # run remotely ssh -n -f $NBFAKE_HOST "sh -c \"cd $CURRWD;export DISPLAY=$DISPLAY; export PATH=$PATH; nohup $* >> $NBFAKE_LOG 2>&1 &\"" fi