shell脚本学习指南之输入输出与文本执行(图文)

发布时间:2020-04-25编辑:脚本学堂
本文介绍下,shell脚本学习指南中有关输入输出与文本执行的方法。有需要的朋友参考下。

本节分享下,有关shell中输入输出的相关内容。

一,使用read读取行
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量,用 IFS(内部字段分隔符)变量中的字符作为分隔符
1,

复制代码 代码示例:
cat /etc/passwd | while IFS=: read user pass uid gid fullname homedir shell
do
   echo $user
done
read line会过滤掉行首、行尾的空格、制表符等,可以使用read -r line
while read line
do
done<$filename

附,shell输入与输出。

1,echo
可以显示文本行或变量,或者把字符串输入到文件

格式:echo string

功能:
c:不换行
f:进纸
t:跳格
n:换行
-n:禁止echo命令输出后换行
-e:使转义符生效

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

格式:read varible1 varible2 …

3,cat
可以用来显示文件内容,创建文件,还可以用它来显示控制字符。
格式:cat [options] filename1 filename2 …

-v:显示控制字符
创建文件:cat >filename

4,管道
可以通过管道把一个命令的输出传输给另一个作为输入

格式:命令1 | 命令2
sedlinuxjishu/13830.html target=_blank class=infotextkey>awk、grep都很适合用管道

5,tee
它把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。

格式:tee –a filename

-a:表示追加到文件末尾

6,标准输入、输出和错误
标准输入文件描述符0
标准输出文件描述符1
标准错误文件描述符2

$ >myfile 创建长度为0的空文件

7,文件重定向
如下图:
文件重定向
重定向操作符command << delimiter是一种非常有用的命令,通常都被称为"此处"文档。shell将分界符delimiter之后直至下一个同样的分界符之前的所有内容都作为输入,遇到下一个分界符,shell就知道输入结束了。这一命令对于自动或远程的例程非常有用。

最常见的分界符是EOF
 

复制代码 代码示例:
$ cat >> filename <<EOF
> ….
> EOF

结合使用标准输出和标准错误:
 

复制代码 代码示例:
cat account_qtr.doc account_end.doc 1>account.out 2>accounts.err

合并标准输出和标准错误:
 

复制代码 代码示例:
$ cleanup >ckeanuo.out 2>&1

8,exec
可以用来替代当前shell
格式:exec command
command通常是一个shell脚本
exec命令的一个常用用法就是在用户的.profile最后执行时,用它来执行一些用于增强安全性的脚本。
exec还常被用来通过文件描述符打开文件。