我刚刚编写了第一个bash脚本来在开发服务器上启动一些redis实例。虽然它主要工作,但最后打开的redis实例阻止了活动终端 - 虽然我有尾随的&
符号,而另一个启动的实例并没有阻塞终端。我怎么把它们都推到后台呢?
这是脚本:
#!/bin/bash
REDIS=(6379 6380 6381 6382 6383 6390 6391 6392 6393)
for i in "${REDIS[@]}"
do
:
redis-server --port $i &
done
答案 0 :(得分:2)
听起来你的终端实际上没有被阻止,你的提示被覆盖了。这是一个纯粹的化妆品问题。由于终端的工作方式,bash不知道重绘它所以看起来命令在前台。
再次运行脚本,然后盲目输入ls
Enter 。您可能会看到shell正常响应,即使您无法看到提示。
您也可以点击 Enter 来获取bash重绘提示。