Pau*_*ite 26 unix django bash networking ip-address
我一次又一次地需要启动Django开发服务器,并让我的网络上的其他机器可以看到它,如下所述:
http://docs.djangoproject.com/en/dev/ref/django-admin/#runserver
我的机器的IP地址往往会一次又一次地改变,所以我想要一个小的别名或用我机器的当前IP地址吐出manage.py命令的东西,可能是这样的:
python manage.py runserver $(COMMAND TO FIND MY MACHINE’S IP ADDRESS GOES HERE):8000
Run Code Online (Sandbox Code Playgroud)
Val*_*her 52
ifconfig en0 | grep inet | grep -v inet6
Run Code Online (Sandbox Code Playgroud)
预计上述产出将采用以下形式:
inet 192.168.111.1 netmask 0xffffff00 broadcast 192.168.111.255
添加一个awk语句来打印第二列以避免使用cut(awk是一个非常标准的unix工具):
ifconfig en0 | grep inet | grep -v inet6 | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
我使用以下内容来获取当前IP,当IP的前几个数字始终相同时(用您自己的数字替换192.168.111):
ifconfig | grep 192.168.111 | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
要获取另一台知道其名称的计算机的ip,请尝试(将hostname和192.168.111替换为您自己的值):
ping -c 1 hostname | grep 192.168.11 | grep 'bytes from' | awk '{print $4}' | sed 's/://g'
Run Code Online (Sandbox Code Playgroud)
Joe*_*ert 15
您可能已经知道,但正在运行
python manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
使您的机器对网络上的每个人都可见.
您是否需要指定IP?
这应该和我已经看过的其他命令一样好用:
ifconfig eth0 | grep inet | awk '{print $2}' | cut -d':' -f2
Run Code Online (Sandbox Code Playgroud)
I̶̶t̶h̶i̶n̶k̶̶y̶o̶u̶̶c̶a̶n̶̶a̶l̶s̶o̶̶w̶r̶i̶t̶e̶:̶
̶̶̶̶h̶o̶s̶t̶n̶a̶m̶e̶̶-̶I̶̶|̶̶c̶u̶t̶̶-̶d̶'̶̶'̶-̶f̶1̶̶
最好的解决方案是:
ifconfig | sed -n 's/.*inet addr:\([0-9.]\+\)\s.*/\1/p'
Run Code Online (Sandbox Code Playgroud)
人们使用字符计数从ip地址行中提取正确的列,但是将空格用作delim使其可以扩展到不同长度的ip地址...
ifconfig en1 | grep inet | grep -v inet6 | cut -d" " -f2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42534 次 |
最近记录: |