Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash-以网络接口作为选项的显示菜单_Linux_Bash_Network Interface - Fatal编程技术网

Linux Bash-以网络接口作为选项的显示菜单

Linux Bash-以网络接口作为选项的显示菜单,linux,bash,network-interface,Linux,Bash,Network Interface,我是一个bash新手,我需要制作一个脚本,它有一个菜单,其中每个选项都是系统可用的网络接口之一。用户必须选择其中一个选项 所以基本上,我在寻找这样的东西(执行时) 请选择一个网络接口: 1) eth0 2) eth1 3) 瞧 然后用户可以输入1、2或3来选择其中一个选项 任何帮助都将不胜感激。非常感谢 试试这个: echo "Please, select a network interface:" cd /sys/class/net && select foo in *; do

我是一个bash新手,我需要制作一个脚本,它有一个菜单,其中每个选项都是系统可用的网络接口之一。用户必须选择其中一个选项

所以基本上,我在寻找这样的东西(执行时)

请选择一个网络接口: 1) eth0 2) eth1 3) 瞧 然后用户可以输入1、2或3来选择其中一个选项

任何帮助都将不胜感激。非常感谢

试试这个:

echo "Please, select a network interface:"
cd /sys/class/net && select foo in *; do echo $foo selected; done
输出:

Please, select a network interface: 1) eth0 2) lo #? 请选择一个网络接口: 1) eth0 2) 瞧 #?
请参阅:
help select
和示例,了解如何使用
select
case

您需要解析
ifconfig
的输出(
-s
选项可能会有所帮助)。然后使用bash的
select
命令创建菜单(提示:使用
PS3
进行提示)。您应该能够在此网站上搜索select的示例。请查看如何使用
select
。您可以通过
ifconfig-s | tail-n+2 | awk'{print$1}'获得接口列表
谢谢大家,当然也很有帮助。非常感谢你们,Cyrus。明天我将尝试一下,如果它有效,我会回来将其标记为有效:) Please, select a network interface: 1) eth0 2) lo #?