How to Get List of IP addresses in BASH using hostname and tr co

  • 时间:2020-09-17 11:25:43
  • 分类:网络文摘
  • 阅读:138 次

The hostname shows or sets the system’s hostname. The option ‘-I’ or ‘–all-ip-addresses’ list the IP addresses on one single line.

1
2
3
4
5
6
7
8
       -i, --ip-address
              Display the network address(es) of the host name. Note that this works only if the host name can be resolved. Avoid  using  this  option;
              use hostname --all-ip-addresses instead.
 
       -I, --all-ip-addresses
              Display all network addresses of the host. This option enumerates all configured addresses on all network interfaces. The loopback inter-
              face and IPv6 link-local addresses are omitted. Contrary to option -i, this option does not depend on name resolution. Do  not  make  any
              assumptions about the order of the output.
       -i, --ip-address
              Display the network address(es) of the host name. Note that this works only if the host name can be resolved. Avoid  using  this  option;
              use hostname --all-ip-addresses instead.

       -I, --all-ip-addresses
              Display all network addresses of the host. This option enumerates all configured addresses on all network interfaces. The loopback inter-
              face and IPv6 link-local addresses are omitted. Contrary to option -i, this option does not depend on name resolution. Do  not  make  any
              assumptions about the order of the output.

For example,

1
2
$ hostname -I
45.76.xx.xx 2001:19f0:7400:yy.yy.yy 12.34.55.33
$ hostname -I
45.76.xx.xx 2001:19f0:7400:yy.yy.yy 12.34.55.33

We can use the tr command to turn the one-line into multi-lines, by converting the spaces (i.e. ‘ ‘) into newline characters e.g. ‘\n’.

1
2
3
4
$ hostname -I | tr ' ' '\n'
45.76.xx.xx
2001:19f0:7400:yy.yy.yy
12.34.55.33
$ hostname -I | tr ' ' '\n'
45.76.xx.xx
2001:19f0:7400:yy.yy.yy
12.34.55.33

tr can be quite useful to split the one-line string by converting the delimiters into newline. For example, if we want to split a IP address into four, we can do this:

1
2
3
4
5
$ echo "1.2.3.4" | tr '.' \n
1
2
3
4
$ echo "1.2.3.4" | tr '.' \n
1
2
3
4
bash-shellshock How to Get List of IP addresses in BASH using hostname and tr commands? bash script BASH Shell IP Address

bash-shellshock

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
共和国的脊梁  遇见你就是幸福  忧伤的清明节作文  简单  我们共同的母亲作文1200字  遥想的树和初起的雪  放手  有关喜迎新春的作文600字  与你们同行,看你们成长  欣赏各个角度的老师作文450字 
评论列表
添加评论