shell语法(4)


一、文件重定向

每个进程默认打开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 >> 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

文章作者: sheepice
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 sheepice !
  目录