用shell命令读取与输出数据的代码

所属分类: 脚本专栏 / linux shell 阅读数: 1959
收藏 0 赞 0 分享

shell脚本读取数据有以下几种方式:
1.键盘输入,默认
2.从文件中读取
3.通过管道命令传递

echo的功能:
\c :不换行
\f :进纸
\t :跳格
\n :换行
\表示转义,例如:"\"/dev/rmt0"\"翻译为,"/dev/rmt0"

read:从键盘或文件的某一行文本中读取信息,并将其赋给一个变量。

复制代码 代码如下:

[jb51]/>read name
hello i am a regular user
[jb51]/>echo $name
hello i am a regular user
[jb51]/>

cat:作用,1.显示文件内容,2.创建文件,3.显示控制字符。
1.显示文件内容
cat filename | more
cat filename | pg
2.创建文件
cat > filename
3.显示控制字符
cat -v filename

管道:可以通过管道,将一个命令的输出传递给另一个命令做为输入。
形式:命令1 | 命令2
例如:

复制代码 代码如下:

[jb51]/usr/xxxx/ytcclb>who | awk '{print $1"\t"$2}'
xxxx ttyp0
xxxx ttyp1
xxxx ttyp2
...
xxxx ttyp55
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}' | grep -v "Filesystem"
/dev/root
/dev/boot
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}'| grep -v "Filesystem"|sed s'/\/dev\///g'
root
boot
[jb51]/usr/xxxx/ytcclb>

tee命令
作用:把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。
tee -a file
-a:追加到文件末尾。
[jb51]/usr/xxxx/ytcclb>who | tee who.out
将who命令查找到的数据保存到who.out文件中。

文件重定向:
command > filename 把标准输出重定向到一个新文件中
command >> filename 把标准输出重定向到一个文件中(追加)
command 1 > fielname 把标准输出重定向到一个文件中
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中
command 2 >> filename 把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
command < filename >filename2 把command命令以filename文件作为标准输入,
以filename2文件作为标准输出
command < filename 把command命令以filename文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到delimiter分界符
command <&m 把文件描述符m作为标准输入
command >&m 把标准输出重定向到文件描述符m中
command <&- 把关闭标准输入

重定向标准输出
1.将很多命令的输出追加到一个文件中

复制代码 代码如下:

ls -l | grep ^d >>files.out
ls account* >> files.out

[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rw-r--r-- 1 xxxx group 3 Nov 15 16:07 null.txt
[jb51]/usr/xxxx/ytcclb>chmod u +x null.txt
chmod: WARNING: cannot access +x: No such file or directory (error 2)

u与+x之间有空格!

复制代码 代码如下:

[jb51]/usr/xxxx/ytcclb>chmod u+x null.txt
[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rwxr--r-- 1 xxxx group 3 Nov 15 16:07 null.txt

更多精彩内容其他人还在看

shell结合expect写的批量scp脚本工具

expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了
收藏 0 赞 0 分享

备份shell脚本实例代码

备份shell脚本一例,有需要的朋友可以参考下
收藏 0 赞 0 分享

shell中冒号的特殊用法分享

有关shell中冒号的特殊用法,供朋友们参考
收藏 0 赞 0 分享

Shell脚本学习指南之文本处理工具

Shell脚本学习指南之文本处理工具介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本学习指南之查找与替换介绍

Shell脚本学习指南之查找与替换介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

分享shell编程中的几个小技巧

分享shell编程中的几个小技巧,学习shell编程的朋友可以看下
收藏 0 赞 0 分享

linux中常用脚本和函数分享

这linux中经常需要用到的一些脚本与函数,这里简单的分享下,方便需要的朋友
收藏 0 赞 0 分享

关于Shell脚本效率优化的一些个人想法

很想像之前的一片Mysql全面优化详解那样子写一篇全面的优化文章,但是苦于没有相关书籍参考,也没有发现网络牛人有总结帖或文章之类的,所以就根据个人理解和经验写一些能优化程序效率的东西吧。这篇是不敢称全面的
收藏 0 赞 0 分享

shell 基本计算、逻辑运算、位运算详解

Shell 提供大量的基本运算操作,在脚本中非常有用。Shell 对您提供的算术表达式求值,执行运算展开式,此时使用得出的结果替换表达式
收藏 0 赞 0 分享

hbase shell基础和常用命令详解

HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》
收藏 0 赞 0 分享
查看更多