31 Temmuz 2020 Cuma tarihinde Chet Ramey <chet.ra...@case.edu> yazdı:
> On 7/31/20 2:03 AM, Oğuz wrote: > > $ sleep 25 > > ^Z > > [1]+ Stopped sleep 25 > > $ > > $ echo $(fg; jobs %) > > bash: jobs: %: no such job > > sleep 25 > > $ > > $ jobs > > [1]+ Running sleep 25 & > > > > What I gather from this is that bash fakes interactive job control in > > command substitution context, because otherwise `fg' wouldn't return > > immediately. But I don't see any point in that `fg' resumes the stopped > job > > when it's faked. Is this a bug or a deliberate choice? > > Maybe a minor bug, but certainly a choice. The command substitution keeps > the jobs list around, since the subshell is supposed to be an exact copy of > the parent, and it's useful to get the output of `jobs' out of command > substitution. > > You just can't expect to do anything with any of those jobs, since the > command substitution shell is not the parent of any of them. It would > make sense to have `fg' complain about that. > > Right, it would. bosh behaves the same way as bash btw. > -- > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/ > -- Oğuz