<requires home>
<loop backend anon xfer>
<loop command QUIT HELP SYST NOOP USER PASS ACCT TYPE STRU MODE CWD XCWD PWD XPWD CDUP XCUP SIZE MDTM>
<loop parameter no yes>
if [ $parameter = no ]; then
  cmd=$command
else
  cmd="$command xyzzy"
fi
$backend "$cmd"
<!----------------------------------------------------------------------------->
<result anon QUIT no>
221 Bye.^M
<result anon QUIT yes>
501 Command requires no parameter^M
<result xfer QUIT no>
221 Bye.^M
<result xfer QUIT yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon HELP no>
502 No help is available.^M
<result anon HELP yes>
501 Command requires no parameter^M
<result xfer HELP no>
502 No help is available.^M
<result xfer HELP yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon SYST no>
215 UNIX Type: L8^M
<result anon SYST yes>
501 Command requires no parameter^M
<result xfer SYST no>
215 UNIX Type: L8^M
<result xfer SYST yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon NOOP no>
200 Awaiting your commands, master...^M
<result anon NOOP yes>
501 Command requires no parameter^M
<result xfer NOOP no>
200 Awaiting your commands, master...^M
<result xfer NOOP yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon USER no>
504 Command requires a parameter^M
<result anon USER yes>
230 Access has already been granted.^M
<result xfer USER no>
504 Command requires a parameter^M
<result xfer USER yes>
230 Access has already been granted.^M
<!----------------------------------------------------------------------------->
<result anon PASS no>
504 Command requires a parameter^M
<result anon PASS yes>
230 Access has already been granted.^M
<result xfer PASS no>
504 Command requires a parameter^M
<result xfer PASS yes>
230 Access has already been granted.^M
<!----------------------------------------------------------------------------->
<result anon ACCT no>
504 Command requires a parameter^M
<result anon ACCT yes>
230 Access has already been granted.^M
<result xfer ACCT no>
504 Command requires a parameter^M
<result xfer ACCT yes>
230 Access has already been granted.^M
<!----------------------------------------------------------------------------->
<result anon TYPE no>
504 Command requires a parameter^M
<result anon TYPE yes>
501 Unknown transfer type.^M
<result xfer TYPE no>
504 Command requires a parameter^M
<result xfer TYPE yes>
501 Unknown transfer type.^M
<!----------------------------------------------------------------------------->
<result anon STRU no>
504 Command requires a parameter^M
<result anon STRU yes>
504 Invalid parameter.^M
<result xfer STRU no>
504 Command requires a parameter^M
<result xfer STRU yes>
504 Invalid parameter.^M
<!----------------------------------------------------------------------------->
<result anon MODE no>
504 Command requires a parameter^M
<result anon MODE yes>
504 Invalid parameter.^M
<result xfer MODE no>
504 Command requires a parameter^M
<result xfer MODE yes>
504 Invalid parameter.^M
<!----------------------------------------------------------------------------->
<result anon CWD no>
504 Command requires a parameter^M
<result anon CWD yes>
550 Directory does not exist.^M
<result xfer CWD no>
504 Command requires a parameter^M
<result xfer CWD yes>
550 Directory does not exist.^M
<!----------------------------------------------------------------------------->
<result anon XCWD no>
504 Command requires a parameter^M
<result anon XCWD yes>
550 Directory does not exist.^M
<result xfer XCWD no>
504 Command requires a parameter^M
<result xfer XCWD yes>
550 Directory does not exist.^M
<!----------------------------------------------------------------------------->
<result anon PWD no>
257 "/"^M
<result anon PWD yes>
501 Command requires no parameter^M
<result xfer PWD no>
257 "/"^M
<result xfer PWD yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon XPWD no>
257 "/"^M
<result anon XPWD yes>
501 Command requires no parameter^M
<result xfer XPWD no>
257 "/"^M
<result xfer XPWD yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon CDUP no>
250 Changed directory.^M
<result anon CDUP yes>
501 Command requires no parameter^M
<result xfer CDUP no>
250 Changed directory.^M
<result xfer CDUP yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon XCUP no>
250 Changed directory.^M
<result anon XCUP yes>
501 Command requires no parameter^M
<result xfer XCUP no>
250 Changed directory.^M
<result xfer XCUP yes>
501 Command requires no parameter^M
<!----------------------------------------------------------------------------->
<result anon SIZE no>
504 Command requires a parameter^M
<result anon SIZE yes>
550 Could not determine file size: No such file or directory^M
<result xfer SIZE no>
504 Command requires a parameter^M
<result xfer SIZE yes>
550 Could not determine file size: No such file or directory^M
<!----------------------------------------------------------------------------->
<result anon MDTM no>
504 Command requires a parameter^M
<result anon MDTM yes>
550 Could not determine file time: No such file or directory^M
<result xfer MDTM no>
504 Command requires a parameter^M
<result xfer MDTM yes>
550 Could not determine file time: No such file or directory^M
<!----------------------------------------------------------------------------->
