new-exp2.sub   [plain text]


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 $?