33 lines
851 B
Bash
33 lines
851 B
Bash
|
# ------------------------------------------------------------------------------
|
||
|
# Description
|
||
|
# -----------
|
||
|
#
|
||
|
# nohup will be inserted before the command and a redirect will be appended
|
||
|
#
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# Authors
|
||
|
# -------
|
||
|
#
|
||
|
# * Michele Renda <michele.renda@gmail.com>
|
||
|
#
|
||
|
# ------------------------------------------------------------------------------
|
||
|
|
||
|
nohup-command-line() {
|
||
|
[[ -z $BUFFER ]] && zle up-history
|
||
|
if [[ $BUFFER == nohup\ * ]]; then
|
||
|
LBUFFER="${LBUFFER#nohup }"
|
||
|
LBUFFER="${LBUFFER%\ &\>*}"
|
||
|
else
|
||
|
tokens=("${(@s/ /)LBUFFER}")
|
||
|
i=1
|
||
|
if [[ $tokens[1] == sudo ]]; then
|
||
|
(( i++ ))
|
||
|
fi
|
||
|
|
||
|
LBUFFER="nohup $LBUFFER &> $tokens[$i].out &"
|
||
|
fi
|
||
|
}
|
||
|
zle -N nohup-command-line
|
||
|
# Defined shortcut keys: [Ctrl] [h]
|
||
|
bindkey "\Ch" nohup-command-line
|