From owner-freebsd-questions@freebsd.org Thu Feb 11 14:29:28 2016 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 C2CC5AA4046 for ; Thu, 11 Feb 2016 14:29:28 +0000 (UTC) (envelope-from me@janh.de) Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mout.kundenserver.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 25FB61A61 for ; Thu, 11 Feb 2016 14:29:27 +0000 (UTC) (envelope-from me@janh.de) Received: from [192.168.178.20] ([87.174.245.160]) by mrelayeu.kundenserver.de (mreue005) with ESMTPSA (Nemesis) id 0LiqBl-1ZrVgv3nG1-00cwXq; Thu, 11 Feb 2016 15:29:24 +0100 Subject: Re: /bin/sh starts with check in script References: <56BB33E8.4080900@gmail.com> To: Sergei G Cc: questions-list freebsd From: Jan Henrik Sylvester Message-ID: <56BC9AC2.3070805@janh.de> Date: Thu, 11 Feb 2016 15:29:22 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56BB33E8.4080900@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:lt1cYkSWY8DehdEOWs07j+7C6/wRqzKZ/gt2ocwmKoK2BKAxoVE 6W6G0L8/7XuZNsxyrgjad+PtS/Vp0zHq1sFBztAyNJrBvdwBjT6AFmcqvjJTZvRP+alQ97T Z/rxV0Qjrn4vwJhvSvWK+Hy5kZDriH8Bpjrpw3TgIXc9qAz1fuva7RwdBjYb6bf8PJqKdWb XWelGHNWvBGndzJXUfzRw== X-UI-Out-Filterresults: notjunk:1;V01:K0:K+VVzk17+ko=:mlwWRKEUFkuHfJRKYoNWvN bJ+cHREzm+lOntJbcmgCM4aLtpXEh5Fgu6WluAUiuUc2WkBXQYaZ8cy3dkHp1XX2RBO5EsX6b fgdRZDEbbsww0tRGA5YT63zlpl+E2Y1LRaXpx5noSyA56NvCMD3fNgWL0kNJus0RslSZ2IO6a fktqJJQZAIh31cu3+sKQC9Lzr/tYBUFUDpKCN3RE8khtT6HjGMeWdDmwRgkbVE9oUE2Fn7qC7 IT+xqpcAM2MGxdwYKQo+jEglYS9suWxKaCNboWbp6p7nVrJnVSOGkd5pvoD4T7ePW8rBwMM7i hNLsZ1yoAIr4B9Mr91DUEXBMBVJAbgqRsrPZ7pyrGSJDvzQG6ZItrS9mHThLz08HhY8XRTy9l a1K7INJ0/qStqcXcNGxybN4qDeDlxXecUoXVp47JHb9iv5T4szmTdFCYWKFtfFP1pOE4rh9E+ bhNaqhrub7KtYKwpzMn/uUXzp9L1ghRLbV0dusaiH/z2/RnZp1uaTSO19dNKEKAinB/Syg5fF qUaPUfikrroYo+sb6HCCmCan1OjbhdM6FGt5rJ7YqZuvA7UHZQou8Hqbfn1VQH+Me4eM4WjfG Ehx9x+76jAaLKeNUduTk5Kw8NGvPj2wiTZ72/pDK8JRabguX0ZUNIAXT9yhHouPIvH6yJHSod pwtI804Ek5qvwsdGZqvgKNNzpB+kvPhu4Ck0HhD+Ouhm0GThDkI25jD0h/zHbqmMS9QW6px1J 9UzB8ktehc+tx/dW X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Feb 2016 14:29:28 -0000 On 02/10/2016 13:58, Sergei G wrote: > I came up with this solution to check if variable $line starts with a > hash. Basically I am checking if line is a comment in the configuration > file. > > #!/bin/sh > if expr "${line}" : '#.*' > /dev/null; then > echo Ignoring comment line > fi > > I had to redirect to /dev/null, because expr prints a number to STDOUT. > Is there a better way to do this kind of string matching check in > /bin/sh (not bash)? [ "${line#\#}" != "$line" ] && echo comment See the Parameter Expansion section of sh(1). Cheers, Jan Henrik