Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby bash端口别名智能精简启动_Ruby_Bash_Thin - Fatal编程技术网

Ruby bash端口别名智能精简启动

Ruby bash端口别名智能精简启动,ruby,bash,thin,Ruby,Bash,Thin,我想要一个启动本地开发服务器的别名(ts)。脚本应该测试3000开始的开放端口,并使用第一个可用端口。此外,有些站点需要一个机架文件,因此需要-R config.ru。此脚本应检查config.ru文件的当前目录,并将其添加到别名(如果存在) 目前,要启动本地开发环境,我运行: alias ts="thin -R config.ru -p 3000 start" 通常,我需要运行多台服务器来测试不同的站点,因此我创建了其他别名: alias ts1="thin -R config.ru -

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

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

alias  ts="thin -R config.ru -p 3000 start"
通常,我需要运行多台服务器来测试不同的站点,因此我创建了其他别名:

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

好吧,您可以做一些聪明的事情,看看使用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

for((端口=3000;端口)您可以将命令和
if
if thin-p$port start 2>/dev/null;然后break;fi