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

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

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 Convert Float Number (Fraction) to Hexadecimal in Python?  4 Tips You Shouldn’t Miss While Creating Your Ideal Websit  SQL Algorithm to Compute Shortest Distance in a Plane  How to Count Univalue Subtrees in a Binary Tree?  Have Writer’s Block? Try These Content Ideation Tools for Market  Quick Ways to Relax Once You’ve Hit Publish  How to Prepare Your SEO Strategy for the Internet of Things  Keep Yourself Safe: Social Media Strategies  7 Ways to Use Video on Your Blog to Get More Engagement  Should You Build Your Blog on a CMS or a Website Builder? 
评论列表
添加评论