Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #16529

Return from function depending on number of parameters

Path csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail
From Chris Elvidge <celvidge001@gmail.com>
Newsgroups gnu.bash.bug
Subject Return from function depending on number of parameters
Date Fri, 3 Jul 2020 19:00:54 +0100
Lines 25
Approved bug-bash@gnu.org
Message-ID <mailman.906.1593807689.2574.bug-bash@gnu.org> (permalink)
References <b1c19d38-64c0-f1ae-d08a-1ada435a0022@gmail.com>
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace usenet.stanford.edu 1593807690 9729 209.51.188.17 (3 Jul 2020 20:21:30 GMT)
X-Complaints-To action@cs.stanford.edu
To bug-bash@gnu.org
Envelope-to bug-bash@gnu.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=vnCPZhoOudfQ7v1tKsYBCV/eR5HAUsM3zrRjrPufuXE=; b=AMDeY7ccqFhszmxEeAsmNek7Zd8jaMgtrYbEDjQDi+WmsYK6GunDPtW/QtzbWvzyq1 ZdMDvfDYa5c5ex501VOn8jd/+iHKEqQTN2qFXse6rL8AGyU/kQnbXPUIeKR68oJcd8vX DxwF5uiJ0mVq1/dV/3d77gzo2JX+f5R3IAVrgkQ2yu/1SjJO7+TXN7wDHsaYXYe9Cm94 lazRBnEa5ujQSSI3VFrv4nK2I2yJQtlFuT6iGse1J2RlXMfOVF3CfUZTJ9ghwTb90pGM /Zix63msavn9Eu5yA/Z1qpEn3FxvW3jKVCb9QVzHVU9A5GqMt+mYgKmxy46rvoSD8DIN WiZg==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=vnCPZhoOudfQ7v1tKsYBCV/eR5HAUsM3zrRjrPufuXE=; b=QzNUimaBlIzXLBKN2PxiGR4Wlz4TU2t9XAZgIbYq0uoq70j5C0EtowL76XaZynaF79 BA6xziBJfpfVLn3a1Ax24ZkK0fMa+lSXeV8sgvMXix6Q8W9MdQ5ZSdONs1JDuM+fj37N 4Zd34n8e9zjFmRxsQoukEfv1e5rdaQu/Rj3bS6XK+SCva4hJ01F01cXrBmzXl6I96YyH ExDr66ZK0gwyfplSXFYi0CAtM9X//WfGf0By2dyGn7M4Tm5eOyFOzqUSGHlA+BuZz2Vo vwaIvbdz0bHN2rg2nNWc07/RsHhJGsTOWWKsNTOkYQ8FjbJCzVRJMKauD/HtA2/+QFkC M8Cw==
X-Gm-Message-State AOAM530m2AtHNswJU2iG1M3T5coB8DDAOUSMf9qlrbZ1fTfPvQaKfe3z KJ9wAm3Qg6kYo1I7gEbNYvWOxRkO
X-Google-Smtp-Source ABdhPJxgwDZI19jswURdHLywSnajHxkWJOvqRLOu4UnAE/d3aAd264uK+jBPCGnxU4yrWbwakfOEEg==
X-Received by 2002:a1c:cc07:: with SMTP id h7mr37603543wmb.179.1593799289893; Fri, 03 Jul 2020 11:01:29 -0700 (PDT)
X-Mozilla-News-Host news://reader80.eternal-september.org:119
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
Content-Language en-GB
Received-SPF pass client-ip=2a00:1450:4864:20::332; envelope-from=celvidge001@gmail.com; helo=mail-wm1-x332.google.com
X-detected-operating-system by eggs.gnu.org: No matching host in p0f cache. That's all we know.
X-Spam_score_int -17
X-Spam_score -1.8
X-Spam_bar -
X-Spam_report (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN
X-Spam_action no action
X-Mailman-Approved-At Fri, 03 Jul 2020 16:21:27 -0400
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.23
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <https://lists.gnu.org/archive/html/bug-bash>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
X-Mailman-Original-Message-ID <b1c19d38-64c0-f1ae-d08a-1ada435a0022@gmail.com>
Xref csiph.com gnu.bash.bug:16529

Show key headers only | View raw


I've used 'return $((!$#))' and 'return $[!$#]' to return an error if no 
parameters given to function.

Tested in a bash script 'exit $((!$#)) / $[!$#]' - both work.

'echo  $((!$#)) / $[!$#]' - both echo 1 when no params, 0 when any 
number of params.

I'm told ( https://wiki.bash-hackers.org/scripting/obsolete ) that 
$[...] is obsolete and that $((...)) should be used instead. OK so far.

However 'N=0; echo $((!$N))' gives an error at the bash prompt. 'echo 
$[!$N]' echo's 1 as expected.

My question - is $[...] actually obsolete? If so, what should I use at 
the bash prompt to get the same effect?

Cheers



-- 

Chris Elvidge

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Return from function depending on number of parameters Chris Elvidge <celvidge001@gmail.com> - 2020-07-03 19:00 +0100

csiph-web