Bash中<>令牌的作用是什么?模拟Shell开发技术问询
Bash 中
<> 令牌的功能 <> 是 Bash 里的读写模式重定向,作用是把指定文件同时关联到当前进程的标准输入(stdin)和标准输出(stdout)。
具体行为细节:
- 如果指定的文件不存在,Bash 会自动创建它
- 如果文件已存在,不会像
>那样截断清空内容,而是以读写模式打开(文件指针初始在开头) - 进程可以从这个文件读取数据(当作 stdin),也可以往里面写入数据(当作 stdout)
举个简单测试例子:
cat <> test.txt
执行后,你输入的内容会直接写入 test.txt,按下 Ctrl+D 结束输入后,cat 又会把文件里的内容(包括你刚输入的)输出到终端——因为此时 cat 的 stdin 和 stdout 都关联到了 test.txt。
你输入单独的 <> 会触发语法错误,是因为它后面必须跟要打开的文件名,就像 < 或 > 后面必须指定文件一样,单独出现属于语法不完整。
内容的提问来源于stack exchange,提问作者Simeon Sutarmin
相关产品推荐
相关产品推荐

