Home >Operation and Maintenance >Linux Operation and Maintenance >shell--standard input and output (read&echo)

shell--standard input and output (read&echo)

巴扎黑
巴扎黑Original
2017-07-18 10:28:171910browse

Input read:

Purpose:

Read a line from the standard input, or read a line from the file descriptor FD (file descriptor), and It is divided into fields.

Usage:

read [-ers] [-a array] [-d delimiter] [-i buffer text] [ -n number of characters read] [-N number of characters read] [-p prompt] [-t timeout] [-u file descriptor] [name...]

Commonly used options:

-a:(arrary) Divide the read characters into words and store them in arrays (starting from 0)


#!/bin/ -  ${variable[  ${variable[  ${variable[  ${variable[]}

<strong>运行效果:<br></strong>

Place the words into the array according to the segmentation, and the index starts from 0<br>34 ew qr34 3qr wer er qw<br>The first one:<br>34<br>The second one:<br>ew<br>The third one Number one: <br>qr34<br> Number four: <br>3qr

-n: Receive the specified number of characters. When the number of characters received is reached, Exit the input state immediately


源码:
#- -n  
 ${num}

<strong>运行效果:<br></strong>

-n read accepts 10 characters<br>sgfgsngfdf<br>The 10 characters received are: sgfgsngfdf

<br>-p: Allows you to specify a prompt directly after the read command and assign values ​​to multiple variables


源码:
 -p    $num3

<strong>运行效果:<br></strong>
使用-p参数完成多个变量赋值:
请输入三个数字或字符:(用空格隔开)23 34 345 num1=23num2=34num3=345
 <br>

<br> -r :Does not allow backslashes to escape any characters

<br> -s:Do not display the data entered by read on the screen


源码:
#- -p  - 
 ${password}

<strong>运行效果:<br></strong>

- The input of s read is not displayed on the screen: <br>password:<br>password is 3432 rq erewr w

<br> -t : The number of seconds the read command waits for input. When the timer expires, it returns a non-zero status and exits waiting for input.


源码:
#- -t  ${num}

<strong>运行效果:<br></strong>

Will wait for two seconds of input. After the timeout, it will exit the waiting; return a non-0 value

<br> -u: Read from file descriptor FD (file descriptor).

 Supplementary content: File descriptor FD
The file descriptor is a non-negative integer in form. In fact, it is an index value pointing to the record table of files opened by the process maintained by the kernel for each process. When a program opens an existing file or creates a new file, the kernel returns a file descriptor to the process. In programming, some low-level programming often revolves around file descriptors. However, the concept of file descriptors is often only applicable to operating systems such as UNIX and Linux.
By convention, the file descriptor of standard input is 0, standard output is 1, and standard error is 2. Although this convention is not a feature of the Unix kernel, because some shells and many applications use this convention, many applications will not work if the kernel does not follow this convention.

Example of reading from a file:

<br>

  test. |

<br>运行效果:
read接受文本作为输入

接收的文本字符是:#------------------------------------------

接收的文本字符是:#------------------------------------------

接收的文本字符是:# read接受文本作为输入

接收的文本字符是:echo " read接受文本作为输入"

接收的文本字符是:cat test.sh | while read line

接收的文本字符是:do

接收的文本字符是:echo

接收的文本字符是:echo "接收的文本字符是:"${line}

接收的文本字符是:done

The above is the detailed content of shell--standard input and output (read&echo). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn