重定向
COMMAND_OUTPUT > # 重定向 stdout 到一个文件. # 如果没有这个文件就创建, 否则就覆盖. 1>filename # 重定向 stdout 到文件"filename". 1>>filename # 重定向并追加 stdout 到文件"filename". 2>filename # 重定向 stderr 到文件"filename". 2>>filename # 重定向并追加 stderr 到文件"filename". &>filename # 将 stdout 和 stderr 都重定向到文件"filename". 2>&1 # 重定向 stderr 到 stdout. >&j # 默认的, 重定向文件描述符 1(stdout)到 j. # 所有传递到 stdout 的输出都送到 j 中去.
附:
>file.tx 创建一个空文件,比touch短
2014年10月19日:
突然想起前几天,邮件中有个人写了个脚本,里边有一处用法从未见过,记录下:
参考:http://www.catonmat.net/download/bash-redirections-cheat-sheet.pdf
示例:
out=$((fastboot oem unlock 3>&1 1>&2- 2>&3-) | grep -oh OKAY )
if [[ $out != 'OKAY' ]]; then
echo "failed to UNLOCK"
exit 1;
fi
这种用法从未在书本见过,just a trick.