大概就是这么个意思,不对之处共同学习一下。
Abstract:1) Linux Shell 命令的标准输入、标准输出、标准错误,及其重定位;2)Linux Shell *** 作自定义文件描述符;
文件描述符是与文件相关联的一些整数,他们保持与已打开文件的关联。众所周知的文件描述符是标准输入stdin、标准输出stdout、标准错误stderr,我们可以重定位这些文件描述符关联文件的内容到另外一个文件文件描述符。
1. Linux Shell 命令的标准输入、标准输出、标准错误
当我们在编写 shell 脚本时,我们会非常频繁地 *** 作执行命令的标准输入stdin、标准输出stdout、标准错误stderr。过滤 shell 脚本或者执行命令的输出信息并且把它们重定位到特定的地方,成了我们分析脚本执行情况的必要工作。当我们执行脚本文件或者执行一个 shell 命令的时候,单从终端输出我们很难区分哪些是标准输出,哪些是标准错误。然而,我们把这些信息重定向特定的地方,以便于我们分析脚本文件及 shell 命令的执行情况。
文件描述符是与打开文件或者数据流相关联的整数,0、1、2 是系统保留的三个文件描述符,分别对应标准输入、标准输出、标准错误。
Linux Shell 使用 " >" ">>" 进行对文件描述符进行重定位。
">" 与 ">>" 的作用是不一样的,前者使用本次输出内容替换原有文件的内容,后者则是把本次输出追加到原文件的后面。
在对文件描述符进行详细分析之前,先执行以下命令,为后面的实验 *** 作准备一些必要的文件:
echo -e "\e[4231m --- Prepare resource file ---\e[0m"
echo "This is example text 1." >temp.txt
echo "This is example text 2." >>temp.txt
cat temp.txt
echo "a1" >a1
echo "a2" >a2
echo "a3" >a3
sudo chmod 000 a3
ls -alF a*
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)