summaryrefslogtreecommitdiffstats
path: root/test/bashisms/arith.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 00:39:23 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-06 00:39:23 +0000
commite3b16b3856bdd5c1645f4609d61bf5a16c026930 (patch)
treed9def3b6f6f46b166fc6f516775350fedeefbef6 /test/bashisms/arith.sh
parentInitial commit. (diff)
downloaddevscripts-upstream.tar.xz
devscripts-upstream.zip
Adding upstream version 2.19.5+deb10u1.upstream/2.19.5+deb10u1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--test/bashisms/arith.sh21
-rw-r--r--test/bashisms/arith.sh.out16
2 files changed, 37 insertions, 0 deletions
diff --git a/test/bashisms/arith.sh b/test/bashisms/arith.sh
new file mode 100644
index 0000000..2cbe860
--- /dev/null
+++ b/test/bashisms/arith.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+metric=0
+echo $((metric=metric+1))
+
+m=0
+n=2
+echo $((n-m++)) # BASHISM
+echo $((++m)) # BASHISM
+echo $(( m-- )) # BASHISM
+echo $((--m)) # BASHISM
+
+foo_bar=0
+echo $((foo_bar++)) # BASHISM
+echo $((foo_bar=foo_bar*2))
+echo $((foo_bar*3/6))
+
+echo $((2*n++)) # BASHISM
+
+echo $(($n*n++)) # BASHISM
+
+echo $((3**2)) # BASHISM
diff --git a/test/bashisms/arith.sh.out b/test/bashisms/arith.sh.out
new file mode 100644
index 0000000..dae4b40
--- /dev/null
+++ b/test/bashisms/arith.sh.out
@@ -0,0 +1,16 @@
+possible bashism in bashisms/arith.sh line 7 ('$((n++))' should be '$n; $((n=n+1))'):
+echo $((n-m++)) # BASHISM
+possible bashism in bashisms/arith.sh line 8 ('$((++n))' should be '$((n=n+1))'):
+echo $((++m)) # BASHISM
+possible bashism in bashisms/arith.sh line 9 ('$((n--))' should be '$n; $((n=n-1))'):
+echo $(( m-- )) # BASHISM
+possible bashism in bashisms/arith.sh line 10 ('$((--n))' should be '$((n=n-1))'):
+echo $((--m)) # BASHISM
+possible bashism in bashisms/arith.sh line 13 ('$((n++))' should be '$n; $((n=n+1))'):
+echo $((foo_bar++)) # BASHISM
+possible bashism in bashisms/arith.sh line 17 ('$((n++))' should be '$n; $((n=n+1))'):
+echo $((2*n++)) # BASHISM
+possible bashism in bashisms/arith.sh line 19 ('$((n++))' should be '$n; $((n=n+1))'):
+echo $(($n*n++)) # BASHISM
+possible bashism in bashisms/arith.sh line 21 (exponentiation is not POSIX):
+echo $((3**2)) # BASHISM