一、文件重定向
每个进程默认打开3个文件描述符:
stdin
:标准输入,从命令行读取数据,文件描述符为0stdout
:标准输出,从命令行输出数据,文件描述符为1stderr
:标准错误输出,向命令行输出数据,文件描述符为2
可以用文件重定向将这三个文件重定向到其他的文件当中
①重定向命令列表
命令 | 说明 |
---|---|
command > file | 将stdout重定向到file文件内 |
command < file | 将stdin重定向到file文件内 |
command >> file | 以stdout的形式追加到file文件内 |
command n > file | 将文件描述符n重定向到file中 |
command n >> flie | 将文件描述符n追加到file文件中 |
输入输出重定向
echo -e "Hello \c" > output.txt #将Hello重定向输出到file
echo "World" >> output.txt #将World追加到文件后
read str < output.txt #将文件的内容读给str
echo $str #输出Hello World
同时重定向输入输出
创建bash脚本
#! /bin/bash
read a
read b
echo $(expr "$a" + "$b")
创建input.txt,脸面的内容为
3
4
执行命令
acs@2ba77538d358:~$ chmod +x test.sh #添加可执行操作
acs@2ba77538d358:~$ test.sh < input.txt > output.txt
acs@2ba77538d358:~$ cat output.txt #里面内容为7
7
引入外部脚本
类似于c引入一个头文件
语法格式
. filename #注意有一个空格
或者
source filename
举一个例子
比如先创建一个bash脚本
acs@2ba77538d358:~$ vim test1.sh
#然后在vim里面写东西
#! /bin/bash
name=wjw
然后再创建一个新的脚本
acs@2ba77538d358:~$ vim test2.sh
#然后在vim里面写东西
#! /bin/bash
source test1.sh
echo $name #会输出wjw