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

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

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

推荐阅读:
5 Healthy Lifestyle Blogs to Know This 2020  Young People Changing the World One Idea at a Time  Remember Your Blog Is A Reflection Of You  Learn About Blog Content Planning  Adding PHPUnit Tests for Discord Cryptocurrency Bot Regarding th  Algorithm to Multiply Two Big Integers (String)  Use jQuery Migrate Helper Plugin to Fix the Classic Editor Error  How to Fix CloudFlare Error 1101 (Worker threw exception)?  Python Function to Convert Excel Sheet Column Titles to Numbers  Algorithm to Find the Kth Missing Positive Number in Array 
评论列表
添加评论