简单地或别名 运行 带有 nohup 的命令

Simply or Alias running a command with nohup

我有一些很长的 运行ning 进程,我 运行 使用 nohup 并将任何输出重定向到日志。由于我平时喜欢直接监听,至少在开始的时候,我也加了个尾巴。这最终看起来像这样。

nohup myprocess.sh >> 20180611.log 2>&1 & tail -f 20180611.log

并不是说这太复杂了,但我希望我能找到一种方法来为它创建一个别名。我可能可以用一个包装脚本来做到这一点,但我不想让每个进程基本上有两个脚本的目录变得混乱(因此我想到了一个别名)。谢谢!

别名是当它是命令的第一个词时被其他东西(命令的较长片段)替换的词。它不能接受参数。

但是,您可以编写一个 shell 函数(在您的 .bashrc 中)来执行您想要的处理(并将进程名称和日志文件作为参数传递)。

它可能看起来像这样(在 .bashrc 中):

function no-hup() {
    nohup "" >> "" 2>&1 & tail -f ""
}
export -f 'no-hup'

你运行是这样的:

no-hup myprocess.sh 20180611.log