http://www.cnblogs.com/hexapodsoft/archive/2007/04/24/724902.html 转载
sudo -u qunarlog scp ${LFile}.gz ${RSRV}:${RFile} >/dev/null 2>&1
sudo
-u<用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
将本地文件cp到 rsrv服务器下的RFile 问加夹下, 此命令最终没有错误输出,没有标准输出
命令出错 有
cmd >/dev/null 2>&1
cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;
cmd > file 把 stdout 重定向到 file 文件中;
... 2>&1 运行一个命令并把它的标准输出和输出合并。(严格的说是通过复制文件描述符 1 来建立文件描述符 2 ,但效果通常是合并了两个流。)
我 们对 2>&1详细说明一下 :2>&1 也就是 FD2=FD1 ,这里并不是说FD2 的值 等于FD1的值,因为 > 是改变送出的数据信道,也就是说把 FD2 的 “数据输出通道” 改为 FD1 的 “数据输出通道”。如果仅仅这样,这个改变好像没有什么作用,因为 FD2 的默认输出和 FD1的默认输出本来都是 monitor,一样的! 但是,当 FD1 是其他文件,甚至是其他 FD 时,这个就具有特殊的用途了。请大家务必理解这一点。
{ 0是默认值 < 和0< 一样; > 和 >1一样 。
0 标准输入 ,1 标准输出 2,标准错误输出 }