[問題] [bash] fucn | grep '^'

看板Linux作者 (張昱珩)時間15年前 (2011/02/23 11:19), 編輯推噓0(009)
留言9則, 4人參與, 最新討論串1/1
##inside shell: function func() { # do someting VARI=1 } ## ##input func | grep '^' echo $VARI ## ##output ## why not display "1"? -- 劍客 - 賈島 ╭═ ███╰══════════════╮ 十年磨一劍,霜刃未曾試。 ███ ███ ▉██ ▉██ 今日把示君,誰有不平事? ███ ███ ███ ███ ██▉ ▇▇█ ███ ███ ██▉ ▉██ █▉█ █▉█ ╰╮ ███ █▉█ █▉█ █▉█ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.116.33

02/23 11:59, , 1F
你的func沒有return值阿! 他只有定義
02/23 11:59, 1F

02/23 12:02, , 2F
對不起我好像誤會了= =
02/23 12:02, 2F

02/23 12:32, , 3F
echo $VARI|grep '^'
02/23 12:32, 3F

02/23 12:39, , 4F
好像是因為pipe裡的東西是用subprocess跑的,才能用kernel提
02/23 12:39, 4F

02/23 12:40, , 5F
供的 pipe() 的樣子
02/23 12:40, 5F

02/23 12:41, , 6F
subprocess結柬時沒有把vari回給parrent
02/23 12:41, 6F

02/23 14:18, , 7F
我本來以為 pipe 應該是純粹 move stdout to stdin
02/23 14:18, 7F

02/23 18:35, , 8F
可是要把function的stdout接到grep的stdin裡,function好像要
02/23 18:35, 8F

02/23 18:36, , 9F
在另一個process才可以的樣子(和程式不熟,看strace猜的)
02/23 18:36, 9F
※ 編輯: IOann 來自: 211.21.127.209 (07/30 20:42)
文章代碼(AID): #1DP7pGqI (Linux)