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

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

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

推荐阅读:
绿茶、红茶、青茶、黑茶、白茶和黄茶  奶茶多添加奶精 长期食用会引发心脏病  奶茶调查:街头奶茶店调香味多用奶精  适合秋天食用的养肺食谱可滋阴润肺  哪些食物可以起到止咳润肺的作用  食物的禁忌:中医如何区分食物的寒热性  味道鲜美营养丰富的黑木耳最佳吃法  怎样食用萝卜可以治咳嗽使症状缓解  柚子营养价值高多吃对健康大有益处  美食“扬州炒饭”新标准公布了制作方法 
评论列表
添加评论