Chinaunix

标题: 关于FD的问题。 [打印本页]

作者: ppxp    时间: 2005-08-01 17:56
标题: 关于FD的问题。
我不想用文件来操作,只想通过一个FD来操作!
主要目的就是,用自己的成功信息代替cmd的信息。
然后输出cmd的一堆的错误信息!

cmd > /dev/null 2>&6
if [ $? -eq 0 ]; then
  echo "successfully!"
else
  6>&1
fi
但是这样出错。
作者: 寂寞烈火    时间: 2005-08-01 18:16
标题: 关于FD的问题。
2>&6 这个6是哪来的 你事先定义了吗?
关于重定向,请参阅:
http://bbs.chinaunix.net/forum/viewtopic.php?t=191375
作者: ppxp    时间: 2005-08-01 18:45
标题: 关于FD的问题。
http://bbs.chinaunix.net/forum/viewtopic.php?t=191375
中写道
command >&m 把把标准输出重定向到文件描述符m中

我不明白 &m需要怎样定义?
作者: waker    时间: 2005-08-01 20:09
标题: 关于FD的问题。
试试

exec 6>testfile
exec 3>&1
exec 1>&6
echo 123
echo 456
exec 1>&3
exec 6>&-
cat testfile


有时间
http://bbs.chinaunix.net/forum/viewtopic.php?t=484163
作者: ppxp    时间: 2005-08-02 10:06
标题: 关于FD的问题。
混乱ing 又有点明白!
感觉就是2个指针之间的交换,需要第3个指针变量来帮忙.

如果不用文件来保存结果,应该不可能.

所以还有待继续学习!

cu上的牛人! 一个字  "服"
作者: waker    时间: 2005-08-02 10:11
标题: 关于FD的问题。
不明白 &m需要怎样定义

exec 6>testfile


感觉就是2个指针之间的交换,需要第3个指针变量来帮忙.

3用来保存原来的&1,通常也就是stdout
不然你运行完这组命令怎么保持原来的IO?
作者: woodie    时间: 2005-08-02 18:29
标题: 关于FD的问题。
原帖由 "ppxp" 发表:
主要目的就是,用自己的成功信息代替cmd的信息。
然后输出cmd的一堆的错误信息!


你想复杂了。只要这样就行:
cmd > /dev/null && echo "succcessfully!"
原来的标准输出重定向到/dev/null,如果命令成功&&后面的echo就会执行了。
不成功的话,错误信息自然会在标准错误输出(此处是屏幕)上打印出来。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2