echo命令可以显示文本行和变量,或者把字符串输入到文件
echo 【option】 string
-e 解析转义字符
-n 回车不换行,linux系统默认回车换行
转义字符(\c,\f,\t,\n) \c表示回车不换行 \f表示静止 \t表示tab键即跳格 \n表示回车换行
输入文件---标准输入stdin 0(缺省是键盘,也可以是文件或者其它命令的输出) 使用<或<<;
输出文件---标准输出stdout 1(缺省是屏幕,也可以是文件) 使用>或>>;
错误输出文件--标准错误stdeee 2(缺省是屏幕,也可以是文件) 使用2>或2>>;
command > filename 把标准输出重定向到一个新文件中
command >> filename 把标准输出重定向到一个新文件中(追加)
command 1 > filename 把标准输出重定向到一个新文件中
connamd > filename 2>1& 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个新文件中
command 2 >> filename 把标准错误重定向到一个新文件中(追加)
command < filename1 > filename2 command命令以filename1文件作为标准输入,以filename2文件作为标准输出
command < filename command命令以filename作为标准输入
command << delimiter 从标准输入中读入,直至遇到delimiter停止符
重定向标准错误 2 > /dev/null
合并标准输入和标准错误的时候,切记shell是从左至右分析相应的命令
grep "nihao" nihao.txt > nihao.out 2>&1 2>&1 标准错误输出到默认标准输出(文件nihao.out) 不管命令是否正确或者错误,所有信息都输出到nihao.out文件中
exec命令用来替代当前shell;换句话说,并没有启动子shell,使用这一命令时任何现有环境都将被清楚,并重新启动一个shell
exec command 其中command通常是一个shell脚本
对文件描述符进行操作的时候(也只有在这时),他不会覆盖你当前的shell
3-9文件描述符,0-2文件描述符应经被定义为标准输入,标准输出,标准错误
exec与文件描述符的结合
例如
#!/bin/bash
#file_desc
exec 3<&0 0
read line1
read line2
exec 0<&3 将标准输入文件描述符改变为0
echo $line1
echo $line2
阅读(755) | 评论(0) | 转发(0) |