From owner-freebsd-questions@freebsd.org Mon Jan 8 07:30:09 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C028E7D3BE for ; Mon, 8 Jan 2018 07:30:09 +0000 (UTC) (envelope-from vas@mpeks.tomsk.su) Received: from relay2.tomsk.ru (mail.sibptus.tomsk.ru [212.73.124.5]) by mx1.freebsd.org (Postfix) with ESMTP id 99BBD6DD01 for ; Mon, 8 Jan 2018 07:30:07 +0000 (UTC) (envelope-from vas@mpeks.tomsk.su) X-Virus-Scanned: by clamd daemon 0.98.5_1 for FreeBSD at relay2.tomsk.ru Received: from [212.73.125.240] (HELO admin.sibptus.transneft.ru) by relay2.tomsk.ru (CommuniGate Pro SMTP 5.1.16) with ESMTPS id 39907972; Mon, 08 Jan 2018 13:25:18 +0600 Received: from admin.sibptus.transneft.ru (sudakov@localhost [127.0.0.1]) by admin.sibptus.transneft.ru (8.15.2/8.15.2) with ESMTP id w087U4ss052728; Mon, 8 Jan 2018 14:30:04 +0700 (+07) (envelope-from vas@mpeks.tomsk.su) Received: (from sudakov@localhost) by admin.sibptus.transneft.ru (8.15.2/8.15.2/Submit) id w087TxId052698; Mon, 8 Jan 2018 14:29:59 +0700 (+07) (envelope-from vas@mpeks.tomsk.su) X-Authentication-Warning: admin.sibptus.transneft.ru: sudakov set sender to vas@mpeks.tomsk.su using -f Date: Mon, 8 Jan 2018 14:29:59 +0700 From: Victor Sudakov To: Polytropon Cc: FreeBSD Mailing List , Ultima Subject: Re: Convert .flac and .ape to mp3 Message-ID: <20180108072958.GA52639@admin.sibptus.transneft.ru> References: <20180104163421.GA15692@admin.sibptus.transneft.ru> <20180104175156.440fa0c2.freebsd@edvax.de> <20180106063934.GA32231@admin.sibptus.transneft.ru> <20180106085528.GA33117@admin.sibptus.transneft.ru> <20180106150753.GA35605@admin.sibptus.transneft.ru> <20180106170352.ce49b320.freebsd@edvax.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180106170352.ce49b320.freebsd@edvax.de> Organization: AO "Svyaztransneft", SibPTUS X-PGP-Key: http://www.dreamwidth.org/pubkey?user=victor_sudakov X-PGP-Fingerprint: 10E3 1171 1273 E007 C2E9 3532 0DA4 F259 9B5E C634 User-Agent: Mutt/1.9.1 (2017-09-22) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Jan 2018 07:30:09 -0000 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