可以在 /etc/hosts 文件中使用通配符吗?
例如,我正在开发具有用户定义子域的应用程序,如“user1.foo.bar”、“user2.foo.bar”。
我正在寻找这样的东西:
127.0.0.1 foo.bar
127.0.0.1 *.foo.bar
我怎样才能使它工作?
答案1
不可以。您需要一个功能齐全的 DNS 服务器才能执行此操作。
答案2
不,正如已经说的,你不能,但是......
如果主机名遵循您所说的内容,您可以使用 Bash shell 执行此操作以节省一些输入:
for i in user{1..10}; do
sudo bash -c "echo 127.0.0.1 ${i}.foo.bar >> /etc/hosts"
done
或者,假设将它们全部放在一个文本文件中,每行一个主机:
while read host; do
sudo bash -c "echo 127.0.0.1 $host >> /etc/hosts"
done < fileName