From: http://www.linuxsense.org/viewnews-63.html
对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途:
编写一个脚本:
#!/bin/bash
# hao32 test read
echo -e "Please enter your test :"
read TESTREAD
echo $TESTREAD
试着运行下这个脚本,你就可以大致了解read命令的用法,下面是转载一篇read命令详细的用法,大家参考参考啊,呵呵
作用
从标准输入中读取一行。
语法
read [ -p ][ -r ][ -s ][ -u[ n ] ] [ VariableName?Prompt ]
[ VariableName ... ]
描述
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量,用 IFS(内部字段分隔符)变量中的字符作为分隔符。VariableName 参数指定 shell 变量的名称,shell 变量获取输入行一个字段的值。由VariableName 参数指定的第一个 shell 变量指定给每一个字段的值,由 VariableName 参数指定的第二个 shell 变量指定给第二个字段的值,以此类推,直到最后一个字段。如果标准输入行的字段比相应的由 VariableName 参数指定的 shell 变量的个数多,把全部余下的字段的值赋给指定的最后的 shell 变量。如果比 shell 变量的个数少,则剩余的 shell 变量被设置为空字符串。
注意: 如果省略了 VariableName 参数,变量 REPLY 用作缺省变量名。
由 read 命令设置的 shell 变量影响当前 shell 执行环境。
标志
-p 用 |& (管道,& 的记号名称)读取由 Korn shell 运行的进程的输出作为输入。
注:-p 标志的文件结束符引起该进程的清除,因此产生另外一个进程。
-r 指定读取命令把一个 \ (反斜杠) 处理为输入行的一部分,而不把它作为一个控制字符。
-s 把输入作为一个命令保存在 Korn shell 的历史记录文件中。
-u [ n ] 读取一位数的文件描述符号码 n 作为输入。文件描述符可以用 ksh exec 内置命令打开。n 的缺省值是 0,表示的是键盘。值 2 表示标准错误。
参数
VariableName?Prompt 指定一个变量的名称和一个要使用的提示符。当 Korn shell 是交互式时,它将把提示符写到标准错误,并执行输入。Prompt 包含多于一个的字,必须用单引号或双引号括起来。
VariableName... 指定一个或多个由空格分隔的变量名。
退出状态
这个命令返回下列出口值:
0 成功完成。
>0 检测到文件结束符或一个错误发生。
示例
下列脚本打印一个文件,这个文件中每行的第一个字段被移动到本行的末尾。
while read -r xx yy
do
print printf "%s %s/n" $yy $xx
done < InputFile读取一行,把它分成字段,并使用 "Please enter: " 作为提示符,请输入:
read word1?"Please enter: " word2系统显示:
Please enter:
You enter:
hello world变量 word1 的值应该是 "hello",变量 word2 应该是 "world."
为创建一个共同进程,用 print -p 写到共同进程,并用 read -p 从共同进程中读取输入,请输入:
(read; print "hello $REPLY")
print -p "world"
read-p line变量 line 的值应该是 "hello world."
为把输入行的副本保存为历史文件中的一个命令,请输入:
read -s line < input_file如果输入文件包含 "echo hello world," ,那么在历史记录文件中将会把 "echo hello world" 保存为一个命令。
欢迎转载本文,请注明来自:
http://www.linuxsense.org
分享到:
相关推荐
### Linux tar命令完全手册 #### 一、简介 在Linux系统中,`tar`命令是一个非常重要的工具,用于创建、提取、更新等操作文件归档(即打包)。它支持多种压缩方式,例如gzip、bzip2等,并且具有丰富的选项来满足...
- 启动一个长时间运行的命令(例如一个较大的文件复制操作),然后按下 `Ctrl+Z` 将其暂停。 - 使用 `bg` 命令将暂停的作业放到后台继续执行: ``` [root@localhost root]# bg ``` 这样,该作业就会在后台继续...
1. **系统调用**:`ps`命令的实现依赖于一系列的Linux系统调用,如`fork()`用于创建子进程,`exec()`家族用于执行新的程序,`wait()`或`waitpid()`用于等待子进程结束,`open()`, `read()`, `write()`用于文件操作,...
Linux系统下的文件权限使用`rwx`表示,分别代表读(read)、写(write)、执行(execute)。文件权限一共分为三组,分别对应文件所有者(owner)、同组用户(group)和其他用户(others)。例如,权限`rwxr-xr-x`...
### Linux系统资源监控命令 在Linux环境中,合理地监控与管理系统的资源是非常重要的,这不仅有助于提高系统的稳定性,还能确保应用程序高效运行。本文将详细介绍几种常用的Linux系统资源监控命令,帮助用户更好地...
这个名为"Linux_CProgram.7z"的压缩包文件包含了丰富的Linux环境下的C编程实践源码,旨在帮助初学者通过实例学习和上手C语言在Linux平台的应用。 1. **Linux基础知识**:在Linux环境下进行C编程,首先需要了解Linux...
Linux TAR命令参数详解 Linux TAR命令是Linux系统中的一种归档工具,用于将文件或目录归档到一个单独的文件中,以便于存储和传输。TAR命令的参数众多,本文将对TAR命令的参数进行详细的解释。 基本参数 * -A, --...
### Linux的Shell命令详解 #### 一、Shell基础概念与位置变量 在Linux环境中,Shell是一种用户界面,允许用户通过命令行与操作系统进行交互。它不仅提供了强大的脚本编程功能,还支持各种实用的内置命令。 **位置...
### Linux常用命令之解压缩相关 #### 一、概述 在Linux系统中,处理压缩文件是日常工作中必不可少的一部分。无论是打包归档还是分发软件,压缩文件都能有效地节省存储空间和传输时间。本文将详细介绍几种常用的...
### Linux命令知识点详解 #### 一、文件管理 在Linux环境下,文件管理是日常操作中最基本也是最常用的功能之一。以下列举了一些常见的文件管理命令及其用法: 1. **cat**:用来显示文件内容。 - 语法:`cat ...
开发者可以通过`ifconfig`命令查看和配置CAN接口的状态,例如设置比特率。 5. **CAN过滤器**:SocketCAN允许设置接收过滤器,只接收满足特定条件的CAN帧。这对于减少不必要的数据处理和提高效率至关重要。 6. **...
### Linux利用nc命令监控服务器端口的方法 #### 一、nc命令简介与基本用法 nc(Netcat)是一款强大的网络工具,它提供了一个简单的方式来读取和写入网络连接,支持TCP和UDP协议。nc命令可以用于创建监听端口、发送...
这个“Linux期末复习资料.7z”压缩包应该包含了帮助学生全面复习Linux课程的资料,包括笔记、课件、练习题和可能的模拟试卷。 首先,让我们回顾一下Linux的基础概念。Linux是一种自由和开放源码的类UNIX操作系统...
3. 赋值与变量:变量用于存储数据,可以使用`echo`、`read`等命令进行赋值和读取。 4. 条件表达式:用于判断,如`-e file`检查文件是否存在,`-z string`检查字符串是否为空。 5. 流程控制:包括if语句、case语句、...
这个“日常知识点记录_linux内核.7z”压缩包文件很可能包含了关于Linux内核的各种技术细节和实践经验,对于深入理解Linux系统至关重要。以下是根据这些信息可能包含的一些Linux内核相关知识点的详细说明: 1. **...
理解如何配置Makefile,以及使用`modprobe`、`insmod`、`rmmod`等命令管理模块是必备技能。 3. **中断处理**:中断是硬件向CPU发送的信号,表明有事件发生。中断处理程序负责响应这些信号,进行必要的处理。硬中断...
可以使用`lsusb`命令检查USB设备,而`ls /dev/tty*`则可以列出所有串行端口。 接下来,要读取NMEA数据流,可以使用`minicom`或`picocom`这样的串口通信工具。以`minicom`为例,设置波特率(通常为4800或9600)、...
Linux Rsync 安装配置及命令详解 Rsync 是一个功能强大且广泛使用的文件同步工具,通过本文,我们将详细介绍 Linux 中 Rsync 的安装、配置和命令详解。 一、服务端操作 1. 安装 Rsync 服务 使用 yum 命令安装 ...
### Linux Shell 命令统计某列去重后的值 #### 概述 本文主要介绍如何使用 Linux Shell 命令来实现对文本文件中某列数据进行去重并统计的过程。具体应用场景为:根据 MAC 地址获取其对应的硬件版本和软件版本,并...
### Linux IO实时监控iostat命令详解 #### 前言 在Linux系统管理与运维过程中,实时监控系统的I/O负载对于确保系统稳定性和性能至关重要。`iostat`工具作为一个强大的系统监视工具,能够帮助管理员监控系统中的磁盘...