shell的输入和输出
1.echo echo [option] string
-e 解析转义字符
-n 回车不换行,linux系统默认回车换行
转移字符 \c \t \f \n
#!/bin/bash
#echo
echo -e "this echo's 3 newlne\n\n\n"
echo "OK"
echo
echo "this is echo's 3 ewline\n\n\n"
echo "this log file have all beendone">mylogfile.txt
[test@szbirdora ~]$ sh echod.sh
this echo's 3 newlne
OK
this is echo's 3 ewline\n\n\n
上面可以看到有-e则可以解析转移字符,没有不能解析。echo空输出为空
2.read 可以从键盘或文件的某一行文本中读入信息,并将其赋给一个变量
read variable1 variable2
eg.
#!/bin/bash
#readname
echo -n "first name:"
read firstname
echo -n "last name:"
read lastname
echo "this name is $firstname $lastname"
|
toto@toto-virtual-machine:~/c$ sh readname.sh first name:toto last name:toto this name is toto toto |
3.cat 显示文件的内容,创建内容,还可以显示控制字符
cat [options]filename1 filename2
-v 显示控制字符(Windows文件)
cat命令不会分页显示,要分页可以采用more、less
4.管道|
5.tee 把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中,一般与管道合用 tee [options] files
-a 在文件中追加
eg.
[test@szbirdora 1]$ echo |tee myfile
[test@szbirdora 1]$ cat myfile
将myfile文件置空
6.文件重定向
command>filename ---覆盖输出
command>>filename ---追加输出
command>filename>&1 ---把标准输出和标准错误重定向
command<<delimiter ---输入直到delimiter分解符
command<filename ----输入文件内容到命令
command<- --- 关闭标准输入
>nullfile.txt ---创建字节为0的文件
command1<filename>command3 ---按从左到右顺序执行
eg.
说明:myfile为空间
[test@szbirdora 1]$ df -lh>myfile
[test@szbirdora 1]$ cat myfile
Filesystem SizeUsed Avail Use% Mounted on
/dev/sda1 20G 3.3G 16G 18% /
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda2 79G 17G 59G 23% /u01
/dev/sda4 28G 3.9G 22G 15% /u02
[test@szbirdora 1]$ df -lh>myfile
[test@szbirdora 1]$ cat myfile
Filesystem SizeUsed Avail Use% Mounted on
/dev/sda1 20G 3.3G 16G 18% /
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda2 79G 17G 59G 23% /u01
/dev/sda4 28G 3.9G 22G 15% /u02
[test@szbirdora 1]$ df -lh>>myfile
[test@szbirdora 1]$ cat myfile
Filesystem SizeUsed Avail Use% Mounted on
/dev/sda1 20G 3.3G 16G 18% /
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda2 79G 17G 59G 23% /u01
/dev/sda4 28G 3.9G 22G 15% /u02
Filesystem SizeUsed Avail Use% Mounted on
/dev/sda1 20G 3.3G 16G 18% /
none 2.0G 0 2.0G 0% /dev/shm
/dev/sda2 79G 17G 59G 23% /u01
/dev/sda4 28G 3.9G 22G 15% /u02
[test@szbirdora 1]$ cat >>myfile<<exit
> China
> Hubei
> Suizhou
> exit
[test@szbirdora 1]$ cat myfile
China
Hubei
Suizhou
7.exec 可以用来替代当前shell。现有任何环境变量都会清除
shell的输入和输出的更多相关文章
- Shell编程学习---第五篇:Shell的输入和输出
在shell脚本中,可以用几种不同的方式读入数据:可以使用标准输入—缺省为键盘,或 者指定一个文件作为输入.对于输出也是一样:如果不指定某个文件作为输出,标准输出总 是和终端屏幕相关联.如果所使用命令 ...
- shell脚本--输入与输出
输出带有转义字符的内容 单独一个echo表示一个换行 使用echo输出时,每一条命令之后,都默认加一个换行:要想取消默认的换行,需要加 -n 参数. #!/bin/bash #文件名:test.sh ...
- Shell 基础 -- 输入、输出重定向
一.文件描述符 文件描述符是一个非负的整数,Linux 中每个运行中的程序(进程),都有一些与之关联的文件描述符,你可以使用文件描述符来访问打开的文件或设备.在标准 I/O 库中,与文件描述符对应的是 ...
- Shell编程基础教程3--Shell输入与输出
3.Shell输入与输出 3.1.echo echo命令可以显示文本行或变量,或者把字符串输出到文件 echo [option] string ...
- Linux Shell基础 Shell的输入重定向和输出重定向
概述 在 Linux 中输入设备指的是键盘,输出设备指的是显示器.在 Linux 中,所有的内容都是文件,计算机硬件也是文件,标准输入设备(键盘)和标准输出设备(显示器)也是文件.这些设备的设备文件名 ...
- Linux shell的标准输入、输出和错误
编译文件时,若编译过程时间长,可以将 标准错误 重定向 输出到一个文件中 2 > 1.txt 也可以通过管道 重定向 到 标准输出 2 > &1 ...
- Erlang学习记录:输入和输出
输入和输出 输入和输出功能都被定义在io模块 输出功能非常常用,由于erlang项目没有可断点调试的IDE(或者说根本不需要),所以所有的调试操作都是由io输出 来调试的 io:get_line/1. ...
- python学习记录_中断正在执行的代码,执行剪切板中的代码,键盘快捷键,魔术命令,输入和输出变量,记录输入和输出变量_
2018-03-28 00:56:39 中断正在执行的代码 无论是%run执行的脚本还是长时间运行的命令ctrl + cIn [1]: KeyboardInterrupt 执行剪切板中的代码 ctrl ...
- 了解一下C++输入和输出的概念
我们经常用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上.从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件.除了以终端为对象进行输入和输出外,还经常 ...
随机推荐
- Evensgn 的债务
问题 A: Evensgn 的债务 大致题意:a欠b5元,b欠c5元,那么最小债务总额为a欠c5元,给你关系,求最小债务总额! 不想说话...一句超级大水题,我居然没读懂!!差点想到网络流了...其实 ...
- Codeforces 343E Pumping Stations
Description 题面 题目大意:求一个排列 \(P\),使得 \(\sum_{i=1}^{n-1}maxflow(P_i,P_{i+1})\) 尽量大 Solution 构造出最小割树,那么第 ...
- ●BZOJ 4559 [JLoi2016]成绩比较(容斥)
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4559 题解: 容斥,拉格朗日插值法. 结合网上的另一种方法,以及插值法,可以把本题做到 O( ...
- bzoj3894
转载自http://www.cnblogs.com/rausen 3894: 文理分科 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1338 So ...
- ChatGirl is an AI ChatBot based on TensorFlow Seq2Seq Model
Introduction [Under developing,it is not working well yet.But you can just train,and run it.] ChatGi ...
- 美团java后台实习三面
美团一面(50分钟) 1.spring的理解. 1.项目相关 2.Redis缓存的应用 3.http解析的全过程 4.Java中的锁 5.Hashmap和concurrenthashMap源码 6.死 ...
- eclipse创建web项目修改路径
- String String Buffer String Builder
如题,在java中这是一个典型的问题. 在stackoverflow上已经有很多相似的问题被提问,并且有很多不正确或不完整的答案.如果你不往深处想,这是一个很简单的问题.但如果深入思考,它却很让人迷惑 ...
- Memcached在Linux环境下的使用详解
一.引言 写有关NoSQL数据库有关的文章已经有一段时间了,可以高兴的说,Redis暂时就算写完了,从安装到数据类型,在到集群,几乎都写到了.如果以后有了心得,再补充吧.然后就 ...
- SQL注入原理及绕过安全狗
1.什么是SQL注入攻击 SQL注入攻击指的是通过构造特殊的输入作为参数插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令 http://www.xxx.com/list. ...