Convert .flac and .ape to mp3
Polytropon
freebsd at edvax.de
Sat Jan 6 16:09:38 UTC 2018
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.
With the same idea in mind, you sometimes find things
like this:
IFS="`printf '\n'`"
I think it becomes perfectly clear now: IFS is assigned
the _result_ of _printing_ a \n.
At least that's how my dusty brain seems to remember... ;-)
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list