Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jan 2018 14:29:59 +0700
From:      Victor Sudakov <vas@mpeks.tomsk.su>
To:        Polytropon <freebsd@edvax.de>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>, Ultima <ultima1252@gmail.com>
Subject:   Re: Convert .flac and .ape to mp3
Message-ID:  <20180108072958.GA52639@admin.sibptus.transneft.ru>
In-Reply-To: <20180106170352.ce49b320.freebsd@edvax.de>
References:  <20180104163421.GA15692@admin.sibptus.transneft.ru> <20180104175156.440fa0c2.freebsd@edvax.de> <20180106063934.GA32231@admin.sibptus.transneft.ru> <CANJ8om7LJqAG%2BX0dn1JDZn1WYJtxZtX9SAK2yQU74om7-SSQRQ@mail.gmail.com> <20180106085528.GA33117@admin.sibptus.transneft.ru> <CANJ8om7zUoLM9HCB_5rzC9uWRaPRhCNKcS4-WsXyjZOGGKwDig@mail.gmail.com> <CANJ8om4W7JTxSYxrLjxkDjDVE8b6CxBcOwPV%2BPMQ-oQJYuNW9g@mail.gmail.com> <20180106150753.GA35605@admin.sibptus.transneft.ru> <20180106170352.ce49b320.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Polytropon wrote:
> On Sat, 6 Jan 2018 22:07:53 +0700, Victor Sudakov wrote:
> > Ultima wrote:
> > > Actually, that wont work either. I decided to go look at some of my scripts
> > > where I had to do something similar, the solution was setting IFS.
> > > 
> > > IFS=$'\n'
> > 
> > What's the dollar sign here for? Why not IFS='\n'?
> 
> It can be seen as "evaluation symbol" (as known from $FOO
> being "FOO evaluated"), or "value of" ($FOO = the value
> of FOO).
> 
> Another way (convenient, but doesn't look good" is to do
> something like this:
> 
> IFS="
> "
> 
> This is a newline as well. In the case above, you want to
> set IFS to an _actual_ newline, not to \n. Remember _when_
> the shell evaluates something: Variables like $IFS will
> be evaluated when being accessed, not when they are being
> declared (even with an initial value). The $'\n' makes
> sure that IFS will be assigned an actual (non-escaped)
> newline, so when constructs like for() or while read
> access $IFS, they find a "real" newline there.

The world is full of wonders. Indeed, from sh, 

echo $'\n'

produces a real newline, while 

echo '\n'

produces just a literal "\n". Thank you.



-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
AS43859



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180108072958.GA52639>