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