原帖由 "寂寞烈火"]echo abc|tee >(tr a-z A-Z) >(tr a-z 0-9)|rev[/quote 发表:
烈火兄, 如果
cmd1: echo abc
cmd2: (tr a-z A-Z)
cmd3: (tr a-z 0-9)
cmd4: rev
这个不满足条件 4, 5, 6, 7
[quote]原帖由 "寂寞烈火" 发表:
#!/bin/ksh
#this is my exercise about co-process
bc -l|&
echo -n "please input two number:"
read a b
print -p "$a*$b"|print -p "scale=2;$a/$b"|print -p "$a+$b"|print -p "$a-$b"
read -p c;read -p d;read -p e;read -p f
echo "$a*$b=$c\n$a/$b=$d\n$a+$b=$e\n$a-$b=$f"
原帖由 "lightspeed" 发表:
这个也不满足条件 4, 5, 6, 7.
原文要求单向 pipe. 当然写出有 coprocess 的版本也可。不过比原题略易。
原帖由 "寂寞烈火" 发表:
哪找这样的4个命令呢?
还望指教
原帖由 "lightspeed" 发表:
以上是全版本,也可以去掉一部分内容(哪些内容?)而不影响结果, 不过
显得不太完美。
/home/lee/myfile#ksh -x testio.sh
+ alias cmd1=(echo cmd1out; echo cmd1err >&2)
+ alias cmd2=(echo cmd2out; echo cmd2err >&2)
+ alias cmd3=(cat; echo cmd3out; echo cmd3err >&2)
+ alias cmd4=(cat; echo cmd4out; echo cmd4err >&2)
+ exec
+ 3>&1
+ exec
+ 4>&1
+ let ((cmd1 1>&3 ; echo 0 >&4 )| cmd2 ) 3>&1 | cmd3 >a 2>&3 ) 2>&1 | cmd4 >b ) 4>&1
testio.sh[7]: ((cmd1 1>&3 ; echo 0 >&4 )| cmd2 ) 3>&1 | cmd3 >a 2>&3 ) 2>&1 | cmd4 >b ) 4>&1: missing )
+ s=
+ exec
+ 3>&-
+ exec
+ 4>&-
+ echo s=
s=
+ echo
+ echo Data in file a ::
Data in file a ::
+ cat a
cat: a: 没有那个文件或目录
+ echo
+ echo Data in file b ::
Data in file b ::
+ cat b
cat: b: 没有那个文件或目录
原帖由 "寂寞烈火" 发表:
+ let ((cmd1 1>&3 ; echo 0 >&4 )| cmd2 ) 3>&1 | cmd3 >a 2>&3 ) 2>&1 | cmd4 >b ) 4>&1
testio.sh[7]: ((cmd1 1>&3 ; echo 0 >&4 )| cmd2 ) 3>&1 | cmd3 >a 2>&3 ) 2>&1 | cmd4 >b ) 4>&1: missing )
原帖由 "網中人" 发表:
哈...
陽春白雪, 曲高和寡.
兄又何必在意呢?
107780412641a4535d36401.gif (6.97 KB, 下载次数: 64)
107780412641a4535d3640111111111.gif (7.01 KB, 下载次数: 50)
原帖由 "lightspeed" 发表:
哈,一句玩笑话,认真不得。
hawkli 已经叫我头晕了,烈火兄还要转上两把.............
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |