summary refs log tree commit diff
path: root/bin/cash/tests/expansion/redir1.0
blob: d951b4cab93273afaeb7afa3675128e2a14b967c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# $FreeBSD: releng/12.0/bin/sh/tests/expansion/redir1.0 273920 2014-10-31 22:28:10Z jilles $

bad=0
for i in 0 1 2 3; do
	for j in 0 1 2 3 4 5 6 7; do
		for k in 0 1 2 3 4 5 6 7; do
			case $i$j$k in
			000) continue ;;
			esac
			set -- "$(printf \\$i$j$k@)"
			set -- "${1%@}"
			ff=
			for f in /dev/null /dev/zero /; do
				if [ -e "$f" ] && [ ! -e "$f$1" ]; then
					ff=$f
				fi
			done
			[ -n "$ff" ] || continue
			if { true <$ff$1; } 2>/dev/null; then
				echo "Bad: $i$j$k ($ff)" >&2
				: $((bad += 1))
			fi
		done
	done
done
exit $((bad ? 2 : 0))