On Mon, Jan 23, 2012 at 2:58 PM, Denis Melnikov <dbmelni...@gmail.com> wrote: > Hi, > after the following fragment of code named variable gets empty: > > ls | while read file ; do > v=1 > break > done > echo $v > > Is it a bug or a feature? > GNU bash, version 4.1.2(1)-release > > Denis >
Pipelines create subshells. See http://mywiki.wooledge.org/BashFAQ/024 As an aside, never parse ls. Simply use a glob.