查看源代码
出自Linux Wiki
对
Bash的输入输出重定向
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
使用[[Bash]]可以方便的用<和>实现输出输入的重定向,本文讨论重定向的一些细节和技巧。 == 基础知识== '''[[文件描述符]](File Descriptor)''',用一个数字(通常为0-9)来表示一个文件。常用的文件描述符如下: {| |- | '''文件描述符''' || '''名称''' || '''常用缩写''' || '''默认值''' |- | 0 || 标准输入 || stdin ||键盘 |- | 1 || 标准输出 || stdout || 屏幕 |- | 2 || 标准错误输出 || stderr ||屏幕 |} 我们在简单地用<或>时,相当于使用 0< 或 1>(下面会详细介绍)。 ''' 管道“|”(pipe line)''',把上一个命令的 stdout 接到下一个命令的 stdin; '''tee 命令'''的作用是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去; ==简单重定向== *cmd > file ::把cmd命令的输出重定向到文件file中。如果file已经存在,则清空原有文件,使用bash的[[noclobber]]选项可以防止覆盖原有文件。 *cmd >> file ::把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件后面。 *cmd < file ::使cmd命令从file读入 *cmd << text ::从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用 <<- ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考后面的例子。 *cmd <<< word Supply text of word, with trailing newline, as input to cmd. (This is known as a here string, from the free version of the rc shell.) cmd <> file Open file for reading and writing on the standard input. The contents are not destroyed.* cmd >| file Send output of cmd to file (overwrite), even if the shell’s noclobber option is set. k、 exec 命令:常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除。exec 在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的 shell 环境。 [[Category: Bash]] [[Category: Linux基础]]
在这个页面上使用的模板有:
Template:Bash重定向实例
(
查看源码
)
Template:Note
(
查看源码
)
返回到
Bash的输入输出重定向
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面