跳转至

文件重定向

每个进程默认打开3个文件描述符:

  • stdin标准输入,从命令行读取数据,文件描述符为0

  • stdout标准输出,向命令行输出数据,文件描述符为1

  • stderr标准错误输出,向命令行输出数据,文件描述符为2

可以用文件重定向将这三个文件重定向到其他文件中。


重定向命令列表

命令 说明
command > file stdout重定向到file
command < file stdin重定向到file
command >> file stdout以追加方式重定向到file
command n> file 将文件描述符n重定向到file
command n>> file 将文件描述符n以追加方式重定向到file

输入和输出重定向

1
2
3
4
5
6
echo -e "Hello \c" > output.txt  # 将stdout重定向到output.txt中
echo "World" >> output.txt  # 将字符串追加到output.txt中

read str < output.txt  # 从output.txt中读取字符串

echo $str  # 输出结果:Hello World

同时重定向stdinstdout

创建bash脚本:

1
2
3
4
5
6
#! /bin/bash

read a
read b

echo $(expr "$a" + "$b")

创建input.txt,里面的内容为:

1
2
3
4

执行命令:

1
2
3
4
root@ubuntu:~$ chmod +x test.sh  # 添加可执行权限
root@ubuntu:~$ ./test.sh < input.txt > output.txt  # 从input.txt中读取内容,将输出写入output.txt中
root@ubuntu:~$ cat output.txt  # 查看output.txt中的内容
7

回到页面顶部