0

我想要一个启动本地开发服务器的别名 (ts)。该脚本应测试从 3000 开始的开放端口并使用第一个可用端口。此外,一些站点需要一个 rackup 文件,因此需要 -R config.ru。此脚本应检查 config.ru 文件的当前目录并将其添加到别名(如果存在)。

目前,要启动我的本地开发环境,我运行:

alias  ts="thin -R config.ru -p 3000 start"

通常,我需要运行多个服务器来测试不同的站点,所以我创建了额外的别名:

alias  ts1="thin -R config.ru -p 3001 start"
4

1 回答 1

1

好吧,您可以做一些聪明的事情,并使用 netstat 和类似的命令查看已绑定的端口

netstat -anp | grep LISTEN | awk '{print $4}' | sed s/".*:"//g | sort -n -u

但是如果你不关心丑陋的控制台垃圾邮件,你可以继续尝试端口,直到你得到一个这样的端口

for ((port=3000; port <= 3010 ; port++)); do
   if thin -p $port start; then break; fi
done
于 2010-04-28T20:48:20.930 回答