在后台自动运行bash脚本

时间:2013-02-06 15:03:26

标签: bash

我有兴趣了解我如何能够自动执行以下操作。

现在我有一个类似于这样的bash脚本:

#!/bin/sh
sass --watch htdocs/css/scss:htdocs/css --debug-info

现在,因为我希望能够在运行此脚本的同时运行其他命令行任务,所以我可以在新窗口中运行它,但我更喜欢将它作为后台进程运行,我通过以下方式实现:

  • 点击[ctrl] + [Z]
  • 正在运行bg

这让我可以继续使用命令行,同时也可以看到sass命令的输出。

我也可以使用jobs查看正在运行的内容,最后使用fg将后台脚本置于最前端,然后使用[ctrl] + [c]取消它

所有这些都很好,但有点冗长 - 有什么方法可以编辑bash脚本,以便它会自动在后台运行,类似于我上面所描述的那样?

谢谢

2 个答案:

答案 0 :(得分:3)

$ ./script &
           ^--- run script in background from the get-go

答案 1 :(得分:0)

我发现有用的替代方法是编写一个函数 long long int

并调用该函数并将其发送到后台

Foo(){ Do stuff }

脚本中的所有 ,因此您无需执行

Foo &

相反,只需调用脚本就会将其发送到后台。