[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Valid characters for function names
From: |
Chet Ramey |
Subject: |
Re: Valid characters for function names |
Date: |
Tue, 26 Nov 2019 11:14:38 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
On 11/25/19 5:19 PM, Reuti wrote:
Thx for all the replies and links.
Nevertheless I wonder about the central place to read about the differences
between being POSIX compliant or allowing extensions for this particular issue.
As I noted in my original email from `man bash`:
a)
name A word consisting only of alphanumeric characters and
underscores, and beginning with an alphabetic character or
an underscore. Also referred to as an identifier.
b)
name () compound-command [redirection]
function name [()] compound-command [redirection]
There is no hint that Bash extends the valid character set to a broader range.
There is only a note about POSIX mode limiting the to be used names not to be
one of POSIX special builtins.
"13. Function names must be valid shell 'name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells."
That's from the section on POSIX mode in the texinfo manual. There's a
reference to it as a separate link in the man page.
In b) maybe "fname" should be used with a proper definition of "fname"
beforehand. Then it could be phrased: 'In POSIX mode "fname" is limited to
represent a "name".'
This is a reasonable addition, with the caveat that `fname' is virtually
unlimited. It can't contain any quoted characters, or contain NUL (like any
bash string) or `$' (and that is dubious). You can even define a function
whose name contains a slash -- you'll just never be able to call it.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU address@hidden http://tiswww.cwru.edu/~chet/
- Valid characters for function names, Reuti, 2019/11/25
- Re: Valid characters for function names, Chet Ramey, 2019/11/25
- Re: Valid characters for function names, Eli Schwartz, 2019/11/25
- Re: Valid characters for function names, Chet Ramey, 2019/11/25
- Re: Valid characters for function names, Reuti, 2019/11/25
- Re: Valid characters for function names,
Chet Ramey <=
- Re: Valid characters for function names, Dennis Williamson, 2019/11/26
- Re: Valid characters for function names, Chet Ramey, 2019/11/26
- Re: Valid characters for function names, Greg Wooledge, 2019/11/26
- Re: Valid characters for function names, Stephane Chazelas, 2019/11/26
- Re: Valid characters for function names, Chet Ramey, 2019/11/26