summaryrefslogtreecommitdiffstats
path: root/test/bashisms/tilde-expansion.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/bashisms/tilde-expansion.sh41
-rw-r--r--test/bashisms/tilde-expansion.sh.out28
2 files changed, 69 insertions, 0 deletions
diff --git a/test/bashisms/tilde-expansion.sh b/test/bashisms/tilde-expansion.sh
new file mode 100644
index 0000000..e58069a
--- /dev/null
+++ b/test/bashisms/tilde-expansion.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+echo tilde alone: ~/
+echo tilde with name: ~root/
+
+cd ; cd - >/dev/null
+
+echo BASHISM: tilde plus: ~+
+echo BASHISM: tilde minus: ~-
+
+pushd ~ >/dev/null 2>&1 # BASHISM
+for i in $(seq 1 9); do
+ pushd / >/dev/null 2>&1 # BASHISM
+done
+
+echo BASHISM: tilde plus n: ~+1
+echo BASHISM: tilde implicit plus n: ~1
+echo BASHISM: tilde minus n: ~-1
+
+echo BASHISM: tilde plus 10: ~+10
+echo BASHISM: tilde implicit plus 10: ~10
+echo BASHISM: tilde minus 10: ~-10
+
+echo BASHISM=~-/bin
+echo BASHISM=/:~+/bin/
+BASHISM=~-/bin ; echo $BASHISM
+BASHISM=/:~+/bin/ ; echo $BASHISM
+
+echo nothing wrong here: ~+foo/
+echo nothing wrong here: ~-moo/
+echo nothing wrong here: ~+1foo/
+echo nothing wrong here: ~1foo/
+echo nothing wrong here: ~-1moo/
+
+# Again, but without the slash
+echo nothing wrong here: ~+foo
+echo nothing wrong here: ~-moo
+echo nothing wrong here: ~+1foo
+echo nothing wrong here: ~1foo
+echo nothing wrong here: ~-1moo
+
diff --git a/test/bashisms/tilde-expansion.sh.out b/test/bashisms/tilde-expansion.sh.out
new file mode 100644
index 0000000..6ae792e
--- /dev/null
+++ b/test/bashisms/tilde-expansion.sh.out
@@ -0,0 +1,28 @@
+possible bashism in bashisms/tilde-expansion.sh line 8 (non-standard tilde expansion):
+echo BASHISM: tilde plus: ~+
+possible bashism in bashisms/tilde-expansion.sh line 9 (non-standard tilde expansion):
+echo BASHISM: tilde minus: ~-
+possible bashism in bashisms/tilde-expansion.sh line 11 ((push|pop)d):
+pushd ~ >/dev/null 2>&1 # BASHISM
+possible bashism in bashisms/tilde-expansion.sh line 13 ((push|pop)d):
+ pushd / >/dev/null 2>&1 # BASHISM
+possible bashism in bashisms/tilde-expansion.sh line 16 (non-standard tilde expansion):
+echo BASHISM: tilde plus n: ~+1
+possible bashism in bashisms/tilde-expansion.sh line 17 (non-standard tilde expansion):
+echo BASHISM: tilde implicit plus n: ~1
+possible bashism in bashisms/tilde-expansion.sh line 18 (non-standard tilde expansion):
+echo BASHISM: tilde minus n: ~-1
+possible bashism in bashisms/tilde-expansion.sh line 20 (non-standard tilde expansion):
+echo BASHISM: tilde plus 10: ~+10
+possible bashism in bashisms/tilde-expansion.sh line 21 (non-standard tilde expansion):
+echo BASHISM: tilde implicit plus 10: ~10
+possible bashism in bashisms/tilde-expansion.sh line 22 (non-standard tilde expansion):
+echo BASHISM: tilde minus 10: ~-10
+possible bashism in bashisms/tilde-expansion.sh line 24 (non-standard tilde expansion):
+echo BASHISM=~-/bin
+possible bashism in bashisms/tilde-expansion.sh line 25 (non-standard tilde expansion):
+echo BASHISM=/:~+/bin/
+possible bashism in bashisms/tilde-expansion.sh line 26 (non-standard tilde expansion):
+BASHISM=~-/bin ; echo $BASHISM
+possible bashism in bashisms/tilde-expansion.sh line 27 (non-standard tilde expansion):
+BASHISM=/:~+/bin/ ; echo $BASHISM