xref: /freebsd/bin/sh/tests/expansion/cmdsubst2.0 (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1*13de33a5SJulio Merino
2*13de33a5SJulio Merinofailures=0
3*13de33a5SJulio Merino
4*13de33a5SJulio Merinocheck() {
5*13de33a5SJulio Merino	if ! eval "[ $* ]"; then
6*13de33a5SJulio Merino		echo "Failed: $*"
7*13de33a5SJulio Merino		: $((failures += 1))
8*13de33a5SJulio Merino	fi
9*13de33a5SJulio Merino}
10*13de33a5SJulio Merino
11*13de33a5SJulio Merinocheck '`echo /et[c]/` = "/etc/"'
12*13de33a5SJulio Merinocheck '`printf /var/empty%s /et[c]/` = "/var/empty/etc/"'
13*13de33a5SJulio Merinocheck '"`echo /et[c]/`" = "/etc/"'
14*13de33a5SJulio Merinocheck '`echo "/et[c]/"` = "/etc/"'
15*13de33a5SJulio Merinocheck '`printf /var/empty%s "/et[c]/"` = "/var/empty/et[c]/"'
16*13de33a5SJulio Merinocheck '`printf /var/empty/%s \"/et[c]/\"` = "/var/empty/\"/et[c]/\""'
17*13de33a5SJulio Merinocheck '"`echo \"/et[c]/\"`" = "/et[c]/"'
18*13de33a5SJulio Merinocheck '"`echo "/et[c]/"`" = "/et[c]/"'
19*13de33a5SJulio Merinocheck '`echo $$` = $$'
20*13de33a5SJulio Merinocheck '"`echo $$`" = $$'
21*13de33a5SJulio Merinocheck '`echo \$\$` = $$'
22*13de33a5SJulio Merinocheck '"`echo \$\$`" = $$'
23*13de33a5SJulio Merino
24*13de33a5SJulio Merino# Command substitutions consisting of a single builtin may be treated
25*13de33a5SJulio Merino# differently.
26*13de33a5SJulio Merinocheck '`:; echo /et[c]/` = "/etc/"'
27*13de33a5SJulio Merinocheck '`:; printf /var/empty%s /et[c]/` = "/var/empty/etc/"'
28*13de33a5SJulio Merinocheck '"`:; echo /et[c]/`" = "/etc/"'
29*13de33a5SJulio Merinocheck '`:; echo "/et[c]/"` = "/etc/"'
30*13de33a5SJulio Merinocheck '`:; printf /var/empty%s "/et[c]/"` = "/var/empty/et[c]/"'
31*13de33a5SJulio Merinocheck '`:; printf /var/empty/%s \"/et[c]/\"` = "/var/empty/\"/et[c]/\""'
32*13de33a5SJulio Merinocheck '"`:; echo \"/et[c]/\"`" = "/et[c]/"'
33*13de33a5SJulio Merinocheck '"`:; echo "/et[c]/"`" = "/et[c]/"'
34*13de33a5SJulio Merinocheck '`:; echo $$` = $$'
35*13de33a5SJulio Merinocheck '"`:; echo $$`" = $$'
36*13de33a5SJulio Merinocheck '`:; echo \$\$` = $$'
37*13de33a5SJulio Merinocheck '"`:; echo \$\$`" = $$'
38*13de33a5SJulio Merino
39*13de33a5SJulio Merinocheck '`set -f; echo /et[c]/` = "/etc/"'
40*13de33a5SJulio Merinocheck '"`set -f; echo /et[c]/`" = "/et[c]/"'
41*13de33a5SJulio Merino
42*13de33a5SJulio Merinoexit $((failures > 0))
43