我想在我的Debian 7.3上制作一个大脚本(类似于已翻译的、更新的用户友好环境).我有个问题.我只想使用命令提供的一些信息.例如,我的ifconfig看起来像:

eth0      Link encap:Ethernet  HWaddr 08:00:27:a3:e3:b0  
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fea3:e3b0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1904 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2002 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1309425 (1.2 MiB)  T

我只想在以下行中显示IP地址:echo"您的IP地址是:(IP_地址)".有没有命令允许我做这样的事情,在流中搜索我想要的信息?.我知道grepsed,但我不太擅长.

编辑:首先要感谢你帮我解决这个问题,现在我知道的更多了.其次是说项目正在进行中.如果有人对它感兴趣,请pm我.

推荐答案

只需获取您的IP地址:

echo `ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`

这将为您提供eth0的IP地址.

编辑:由于Ubuntu最新版本中接口的名称发生了变化,这已经不起作用了.相反,你可以用这个:

hostname --all-ip-addresseshostname -I,其作用相同(提供主机的所有IP地址).

Linux相关问答推荐

创建守护进程时打开0,1,2描述符

PERF显示不应该执行指令的内核的用户空间周期

在Linix&;Mac中运行Reaction本机项目时出现问题

在 Bash 中使用 shell 脚本从文件中解析版本号

使用awk命令将以:分隔的两个文件合并的方法

如何在 Linux 上打印带有屏蔽值的环境名称?

有没有办法确定什么代码使 linux 共享对象inflating ?

问题:Virtio rpmsg 总线 virtio0:收到的 msg 没有收件人 - 在 Yocto Hardknott - imx7d-pico

sig_atomic_t 实际上是如何工作的?

如何在 Linux 中向应用程序发出信号而不杀死它?

如何为 Linux 构建 Visual C++ 项目?

如何使用多个版本的 GCC

Linux 非阻塞 fifo(按需日志(log)记录)

命令列出除 . (点)和..(点点)

如何使用 bash 在文件中间添加一行文本?

将所有文件扩展名转换为小写

如何从 Linux 内核模块的 init_module 代码创建设备 node ?

ImportError:在 ubuntu 14.04 中没有名为 _io 的模块

如何在没有 root 用户的情况下在 Linux (CentOS) 中安装软件包并进行自动依赖处理?

如何使用cp从不同目录复制多个文件?