3.2 shell输入输出
shell输入与输出:
read :
read语句可以从键盘或者文件的某一行文本中读入信息,并将其赋值给一个变量。
read var1 var2 ... 若只指定了一个变量,那么read将会把所有的输入赋值给该变量,直至遇上第一个文件结束符或者回车。 如果给了多个变量,它们按照顺序分别赋予不同的变量。shell将用空格作为变量之间的分隔符。
read示例如下,同时展示了回车不换行:
光标停留在了First name之后,这叫回车不换行。不加-n的话,光标会跑到下一行。
cat:
cat filename | more,可以一屏一屏的翻页。
tee示例:
who命令查看谁登录到服务器上了,如下所示:
标准输入、标准输出、标准错误:
文件重定向是改变文件运行的输入来源和输出地点:
2>&1表示标准错误要和标准输出重定向到一个地方。标准输出一般是先重定向到一个文件,如上图中的示例所示。
标准输出重定向:
标准输入重定向:
标准错误重定向:
exec拉起一个脚本,当前用户会退出,实验中,命令行窗口直接关闭了。当exec不和文件描述符在一起时,会关闭当前shell。
exec只有对文件描述符进行操作时,也仅有这样时,它不会覆盖当前的shell。
示例如下:
#!/bin/bash exec <& <file1.txt read line1
read line2 exec <& echo $line1
echo $line2
第三行中,将0号文件描述符缓存到3号中,将0号重定向到file1.txt文件。第8行中将文件描述符3恢复到0号文件描述符。
执行结果如下:file1.txt中的第一行为aaa bbb,没有第二行,所以line2为空,aaa bbb都赋值给了line1。
3.2 shell输入输出的更多相关文章
- Linux Shell系列教程之(十六) Shell输入输出重定向
本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...
- Unix shell输入输出重定向
敲代码的时候,适当地打印出一些进度或者日志信息经常能帮助我们跟踪程序的执行结果.可是,这些结果或者日志打印信息到屏幕上并不能作为以后检查问题的根据.这就是重定向的作用,敲代码的时候,我们能够方便的将相 ...
- 【Shell脚本学习24】Shell输入输出重定向:Shell Here Document,/dev/null文件
Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 输出重定向 命令的输出不仅可以 ...
- shell 输入输出重定向
1. 命令列表: command > file 将输出重定向到file command < file 将输入重定向到file command >> file 将输出以追加的方式 ...
- [SHELL]输入输出重定向与管道
一 . 输出重定向(将命令的输出重定向到文件): ls -al > test 以覆盖的方式写入 ls -al >> test 以追加的方式写入 二 . 输入重定向(将文件的内容重定向 ...
- Shell输入输出重定向
全部可用的重定向命令列表 命令 说明 command > file 将输出重定向到 file. command < file 将输入重定向到 file. command >> ...
- Shell—输入输出重定向
大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...
- shell输入输出
输出 一.echo命令介绍 1.功能:将内容输出到默认显示设备 2.语法:echo [-ne] [字符串] :输出的字符串以空格隔开,默认会加上换行符 3.选项 -n 不要在最后自动换行 -e 如果字 ...
- shell编程基础(三): 位置参数与shell脚本的输入输出
一.位置参数和特殊变量 有很多特殊变量是被Shell自动赋值的,我们已经遇到了$?和$1,现在总结一下: 常用的位置参数和特殊变量: $0 相当于C语言main函数的argv[0] $1.$2... ...
随机推荐
- 基于MySQl的分页显示
<%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet ...
- poj 1986 Distance Queries 带权lca 模版题
Distance Queries Description Farmer John's cows refused to run in his marathon since he chose a pa ...
- shell 求幂
$ let i=** $ echo $i $ ((i=**)) $ echo $i $ echo "5^2" | bc
- java中的值传递和引用传递用法详解
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值. 引用传递:也称为传地址.方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对 ...
- 算法笔记--数位dp
算法笔记 这个博客写的不错:http://blog.csdn.net/wust_zzwh/article/details/52100392 数位dp的精髓是不同情况下sta变量的设置. 模板: ]; ...
- robot 批处理文件
robot自带的ride工具不好用,就像填表格似的写脚本,太拘束.所以一直在用sublime text写robot脚本,但是也有问题:用sublime text写的脚本,只能运行一个文件的case,并 ...
- linux之CentOS7在线安装Mysql
下载和添加仓库 1.wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.sudo rpm -iv ...
- Please, another Queries on Array? CodeForces - 1114F (线段树,欧拉函数)
这题刚开始看成求区间$\phi$和了........先说一下区间和的做法吧...... 就是说将题目的操作2改为求$(\sum\limits_{i=l}^{r}\phi(a[i]))\%P$ 首先要知 ...
- uva-11426-数论
https://vjudge.net/problem/UVA-11426#author=0 求 SUM{ gcd(i,j) | 1<=i<j<=n}, n<4000001. 令 ...
- UVA-10497 Sweet Child Makes Trouble (计数+高精度)
题目大意:这是一道简单排列组合题 .简单说下题意:n件物品,把这n件物品放到不是原来的位置,问所有的方案数.所有的位置都没有变. 题目解析:按照高中的方法,很快得到一个递推公式:f [n]= (n-1 ...