【发布时间】:2017-05-30 22:42:01
【问题描述】:
我对 & 标记有点困惑,我在我的问题中包含了一个示例。在我的例子的底部,我不能只使用 4 作为 cat 的参数吗?我知道你不能,因为我已经尝试过了,但我就是不明白为什么不呢?我没有复制文件描述符 3 和 4,我只是尝试重定向文件描述符 3 和 4 的输入和输出。为什么我必须在这两个标记中包含 & 符号?
#!/bin/bash
case $# in
0)
exec 3<&0 4<&1
;;
1)
exec 3< $1 4<&1
;;
2)
exec 3< $1 4> $2
;;
*)
echo "bad"
return 1
;;
esac
cat <&3 >&4
exec 3<&- 4<&-
【问题讨论】: