1.7. User interfaces

简介:

例 1.8. Using select to make simple menus

#!/bin/bash
OPTIONS="Hello Quit"
select opt in $OPTIONS; do
    if [ "$opt" = "Quit" ]; then
     echo done
     exit
    elif [ "$opt" = "Hello" ]; then
     echo Hello World
    else
     clear
     echo bad option
    fi
done
		


例 1.9. Using the command line

#!/bin/bash
if [ -z "$1" ]; then
    echo usage: $0 directory
    exit
fi
SRCD=$1
TGTD="/var/backups/"
OF=home-$(date +%Y%m%d).tgz
tar -cZf $TGTD$OF $SRCD
		


例 1.10. Reading user input with read

In many ocations you may want to prompt the user for some input, and there are several ways to achive this. This is one of those ways:

#!/bin/bash
echo Please, enter your name
read NAME
echo "Hi $NAME!"
		

As a variant, you can get multiple values with read, this example may clarify this.

#!/bin/bash
echo Please, enter your firstname and lastname
read FN LN
echo "Hi! $LN, $FN !"
		


1.7.1. input

例 1.11. read

限时30秒内,输入你的名字

$ read -p "Please input your name: " -t 30 named
Please input your name: neo

$ echo $named
			

		
READ_TIMEOUT=60
read -t "$READ_TIMEOUT" input

# if you do not want quotes, then escape it
input=$(sed "s/[;\`\"\$\' ]//g" <<< $input)

# For reading number, then you can escape other characters
input=$(sed 's/[^0-9]*//g' <<< $input)
		
		



原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

目录
相关文章
成功解决The selected network interface is not valid
成功解决The selected network interface is not valid
成功解决The selected network interface is not valid
成功解决hostname ‘xxx‘ doesn‘t uniquely match the interface ‘ens33‘ selected for the management bridge
成功解决hostname ‘xxx‘ doesn‘t uniquely match the interface ‘ens33‘ selected for the management bridge
|
网络安全 开发工具
|
JavaScript 前端开发
|
SQL 数据库 关系型数据库