[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-gawk] Gawk Handles Late-In-Command-Line -v Variable Assignments Dif
From: |
Neil R. Ormos |
Subject: |
[bug-gawk] Gawk Handles Late-In-Command-Line -v Variable Assignments Differently When -e and -f Are Omitted |
Date: |
Tue, 16 Apr 2019 17:18:23 -0500 (CDT) |
Hello Arnold et al.:
In the examples below, only in Example 6, where
source code is provided on the command line
without -e, and where a variable assignment is
provided after the source code, is the result of
the variable assignment not available in the BEGIN
rule.
I don't know if this is intended behavior or a
bug. I was unable to find an explanation in the
manual. (If I missed something, please forgive.)
The results below use Gawk 5.0.0 compiled from the
tar achive from ftp.gnu.org, but I get the same
results using 4.2.0 and 3.1.7 (substituting
--source= for -e).
Best regards,
--Neil Ormos
################################################################################
> uname -a
Linux aloha 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
> lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.7 (stretch)
Release: 9.7
Codename: stretch
> gawk --version | head -1
GNU Awk 5.0.0, API: 2.0
> echo 'BEGIN{print a}' > ! test.awk
> cat -n test.awk
1 BEGIN{print a}
# Example 1
> gawk -v a=99 -f test.awk
99
# Example 2
> gawk -f test.awk -v a=99
99
# Example 3
> gawk -v a=99 -e 'BEGIN{print a}'
99
# Example 4
> gawk -e 'BEGIN{print a}' -v a=99
99
# Example 5
> gawk -v a=99 'BEGIN{print a}'
99
# Example 6
> gawk 'BEGIN{print a}' -v a=99
# The line above was empty.
################################################################################
- [bug-gawk] Gawk Handles Late-In-Command-Line -v Variable Assignments Differently When -e and -f Are Omitted,
Neil R. Ormos <=