Shell 文件的输入输出
详情地址: https://www.xiaobuteach.com/shell/io/file.html?from=bili
Shell 文件的输入输出
本节实现从文件输入,输出到文件。
准备数据文件data1.txt,其中内容为:xiaobuteach.com
1 输入位置
例1:从文件中读取内容
read -p "input name:" name < data1.txt
<与文件名之间空隔可有可无。
然后echo $name查看数据

2 输出位置
例2:往文件中写内容
echo $name > bak1.txt
>与文件名之间空格可有可无。

查看数据正确。
例3:将输出与错误写到不同文件
ll file1.txt file-error.txt 1> log.txt 2>err.txt
1>log.txt表示将正常内容写到log.txt文件
2>err.txt表示将错误内容写到err.txt文件

ll命令执行完后,并没有显示到显示器,而是输出到了文件。
例4:仅将错误写到文件。
ll file1.txt file-error.txt 2>err.txt
分析:错误写到文件,输出没有改变目的地,还是会在默认位置即硬件显示。

例5:将所有内容全部写到1个文件 all.txt
ll file1.txt file-error.txt &>err.txt
&>表示输出与错误全部写到后面指定位置。

例6:默认写入 > 是写入什么内容?
ll file1.txt file-error.txt >x.txt

不看文件内容,通过界面显示我们能得到文件内容的答案。
3 输出模式
> 表示覆盖文件;
>> 表示追加内容;
>! 表示强制覆盖,shell有参数设置覆盖是否提示,通过此操作符能忽略此参数设置。
4 小结
1)输入从文件中读取
输入命令 < 文件
2)输出到文件
命令 输出操作符 文件 [输出操作符 文件]
输出操作符说明>等价于1> ,覆盖文件1>输出写入文件2>错误写入文件&>都写入文件>>追加数字或& + >>输出/错误相应的追加>!强制覆盖数字或& + >>输出/错误相应的强制覆盖
上述这些操作符称为重定向操作符。