Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Carding the basic knowledge of shell script & lt; eight & gt;: process Control select

2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/02 Report--

Select variable in list

Flag for the start of the do # loop

Every time a commands # loop variable takes a value, the loop body executes once

Flag for the end of the done # loop

The select loop is mainly used to create menus, and menu items in numerical order will be displayed on standard error, waiting for user input

The separator of the menu item is determined by the environment variable IFS

The prompt information used to guide the user to enter is stored in the environment variable PS3

If the user enters enter directly, the menu will be redisplayed

Similar to the for loop, omitting in list is equivalent to in "$*"

The user enters a number in the menu list and executes the corresponding command

The user's input is saved in the built-in variable REPLY.

Example 1

#! / bin/bash

#

# IFS is a system delimiter variable; if the input parameter variable is not specified, the system stores the parameters followed by the script in the REPLY variable by default

Clear

PS3= "What is your preferred OS?"

IFS=' |'

OS= "Linux | Gnu Hurd | FreeBSD | Mac OS X"

Select s in $OS

Do

Case $REPLY in

1 | 2 | 3 | 4) echo "You selected $s"

*) exit

Esac

Done

Execution result

1) Linux

2) Gnu Hurd

3) FreeBSD

4) Mac OS X

What is your preferred OS?1

You selected Linux

What is your preferred OS?4

You selected Mac OS X

What is your preferred OS?e

[root@localhost shell] #

Example 2

#! / bin/bash

#

# PS3 user-defined prompts

Clear

PS3= "What is your preferred scripting language?"

Select s in bash perl python ruby quit

Do

Case $s in

Bash | perl | python | ruby)

Echo "You selected $s"

Quit) exit

*) echo "You selected error,retry"

Esac

Execution result

1) bash

2) perl

3) python

4) ruby

5) quit

What is your preferred scripting language?1

You selected bash

What is your preferred scripting language?2

You selected perl

What is your preferred scripting language?5

[root@localhost shell] #

Example 3

#! / bin/bash

#

# Command package View script

PS3= "Select a program you want to execute:"

TOPLIST= "wget telnet htop atop nettop iftop ftop"

Clear

Select prog in $TOPLIST quit

Do

[[$prog = = quit]] & & exit

Rpm-Q $prog > / dev/null & & echo "$prog installed" | | echo "$prog is not installed"

Done

Execution result

1) wget 3) htop 5) nettop 7) ftop

2) telnet 4) atop 6) iftop 8) quit

Select a program you want to execute: 1

Wget installed

Select a program you want to execute: 8

[root@localhost shell] #

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report