Path: csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: Chris Elvidge 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: References: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: Xref: csiph.com gnu.bash.bug:16529 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