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

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

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) —

推荐阅读:
How to Compute the Day of the Week using C++?  Counting Substrings with Only One Distinct Letter with Different  Ukranian Authorities Prevent Security Blogger From Getting Kidna  5 Instagram Tools to Help You Get More Blog Visitors  6 SEO Analysis Tools Every SEO Needs to Know For 2017  Top Tools to Create and Sell Content  Mauritania Clerics Call For ‘Apostasy’ Blogger To Be Killed  Automating WordPress Website Marketing With GetResponse  Travel Blogger Teaches People ‘How To Move To New Zealand’ After  50 Content Marketing Ideas to Go From Rookie to Super Hero [Info 
评论列表
添加评论