Linux Gvim shell 输入输出重定向

#输入输出重定向:Unix默认从stdin获取输入,stdout输出,输入设备是键盘,输出设备是终端
#输出重定向:明朗的输出不仅可以是显示器,还可以转移到文件,这被叫做输出重定向
#输出重定向会覆盖文件内容
#输出重定向语法:    command > file

1 echo who > users     #在当前目录创建一个users文件,并写入获取的当前用户名#

#输入重定向语法:    command < file
#重定向深入讲解
#一般情况Unix/Linux命令运行时都会打开三个文件
#标准输入文件stdin:文件描述符为0,Unix默认从stdin读取数据
#标准输出文件stdout:文件描述符为1,Unix默认从stdout输出数据
#标准错误文件stderr:文件描述符为2,Unix会向stderr流中写入错误信息
#默认情况下,command > file将stdout重定向到file,command < file将stdin重定向到file
#如果希望stderr重定向到file :command 2 > file
#如果希望stderr追加到file末尾 : command 2 >> file
#如果希望stdout和stderr合并后重定向到file : command > file 2>&1 or command > file 2>&1

#如果希望stdin和stdout都重定向 :command < file1 > file2
#command命令将stdin重定向到file1,stdout重定向到file2
#查看全部可用的重定向命令列表获取更多 ~/桌面/Blog/Shell#

#Here Document:shell中一种特殊的重定向方式:形式如下:
#command << delimiter
#    document
#delimiter

#它的作用是将两个delimiter之间的内容document作为输入传递给command
#注意:结尾的delimiter一定要顶格写
#开始的delimiter前后的空格会被忽略掉
:例如:

1 cat << EOF
2 This
3 is 
4 a test
5 EOF



#计算行数例子如下:   终端输入 : 结果 : 3

1 wc -l << EOF
2 This
3 is 
4 a test
5 EOF

#将document保存到当前目录的test.txt文件

1 cat << EOF > test.txt
2 This file was created automatically from
3 a shell script
4 EOF

#/dev/null:如果希望执行某个命令,但又不希望在终端输出结果,那么可以将输出重定向到 /dec/null
# command > /dev/null
#这是一个特殊的文件,写入其内容会被丢弃,同样读取不到内容。
#但它非常有用,将命令输出重定向到它,起到  禁止输出  的效果
#如果希望屏蔽stdout和stderr : command > /dev/null 2>&1

#像其他语言一样,Shell可以包含外部脚本
#包含脚本可以使用:. filename or source filename
#创建一个被调用脚本subscript.sh : url="www.baidu.com"
#创建主文件main.sh

1 . ./subscript.sh
2 echo ${url}

#赋予main +x 权限并执行,会输出 www.baidu.com
#被包含脚本不需要执行权限

 

原文地址:https://www.cnblogs.com/blog4matto/p/5572074.html