summaryrefslogtreecommitdiff
path: root/tests/new-exp2.sub
diff options
context:
space:
mode:
Diffstat (limited to 'tests/new-exp2.sub')
-rw-r--r--tests/new-exp2.sub36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/new-exp2.sub b/tests/new-exp2.sub
new file mode 100644
index 0000000..5e922aa
--- /dev/null
+++ b/tests/new-exp2.sub
@@ -0,0 +1,36 @@
+export LC_ALL=C
+export LANG=C
+
+# test out the new $(< filename) code
+# it should be exactly equivalent to $(cat filename)
+
+FILENAME=/tmp/bashtmp.x$$
+
+trap 'rm -f $FILENAME' 0
+
+cat >$FILENAME << EOF
+line 1
+line 2
+line 3
+EOF
+
+LINES1=$(cat $FILENAME)
+LINES2=$(< $FILENAME)
+
+if [[ $LINES1 != $LINES2 ]]; then
+ echo 'whoops: $(< filename) failed'
+fi
+
+LINES2=$(< /tmp/bashtmp.x*)
+if [[ $LINES1 != $LINES2 ]]; then
+ echo 'whoops: $(< filename) with glob expansion failed'
+fi
+
+# but the glob expansion in the redirection should fail in posix mode
+set -o posix
+LINES2=$(< /tmp/bashtmp.x*)
+set +o posix
+
+# now see what happens when we try it with a non-existant file
+LINES3=$(< /tmp/redir-notthere)
+echo $?