{"generated_by":"scripts/shell-expansion-oracle.py","versions":{"dash":"0.5.12-12ubuntu3","bash":"GNU bash, version 5.3.9(1)-release (x86_64-pc-linux-gnu)","strace":"strace -- version 6.19","kernel":"7.0.0-31-generic","machine":"x86_64","locale":"LC_ALL=C","date":"2026-10-07"},"files":["README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz",".hidden.txt",".profile"],"commands":["ls","cat","wc","grep","sort","rm","cp","mv","touch","head"],"builtins":["echo","printf","cd","pwd","test","[","true","false","read","export","set","unset","exec","eval","type","kill","wait","umask","shift","trap","getopts","command","hash","exit","return","break","continue",":",".","alias","times","local"],"vars":{"c":"ls","d":".*","e":"","f":"my file.txt","g":"*.txt *.txt","n":"nomatch*","p":"*","q":"[ab].txt","s":"  a.txt   b.txt  ","t":"a.txt","w":"   ","x":"*.xyz"},"shells":["dash","bash","posix"],"shell_commands":{"dash":["/usr/bin/dash"],"bash":["/usr/bin/bash"],"posix":["/usr/bin/bash","--posix"]},"names":{"dash":{"ls":"external","cat":"external","wc":"external","grep":"external","sort":"external","rm":"external","cp":"external","mv":"external","touch":"external","head":"external","echo":"builtin","printf":"builtin","cd":"builtin","pwd":"builtin","test":"builtin","[":"builtin","true":"builtin","false":"builtin","read":"builtin","export":"builtin","set":"builtin","unset":"builtin","exec":"builtin","eval":"builtin","type":"builtin","kill":"builtin","wait":"builtin","umask":"builtin","shift":"builtin","trap":"builtin","getopts":"builtin","command":"builtin","hash":"builtin","exit":"builtin","return":"builtin","break":"builtin","continue":"builtin",":":"builtin",".":"builtin","alias":"builtin","times":"builtin","local":"builtin"},"bash":{"ls":"external","cat":"external","wc":"external","grep":"external","sort":"external","rm":"external","cp":"external","mv":"external","touch":"external","head":"external","echo":"builtin","printf":"builtin","cd":"builtin","pwd":"builtin","test":"builtin","[":"builtin","true":"builtin","false":"builtin","read":"builtin","export":"builtin","set":"builtin","unset":"builtin","exec":"builtin","eval":"builtin","type":"builtin","kill":"builtin","wait":"builtin","umask":"builtin","shift":"builtin","trap":"builtin","getopts":"builtin","command":"builtin","hash":"builtin","exit":"builtin","return":"builtin","break":"builtin","continue":"builtin",":":"builtin",".":"builtin","alias":"builtin","times":"builtin","local":"builtin"},"posix":{"ls":"external","cat":"external","wc":"external","grep":"external","sort":"external","rm":"external","cp":"external","mv":"external","touch":"external","head":"external","echo":"builtin","printf":"builtin","cd":"builtin","pwd":"builtin","test":"builtin","[":"builtin","true":"builtin","false":"builtin","read":"builtin","export":"builtin","set":"builtin","unset":"builtin","exec":"builtin","eval":"builtin","type":"builtin","kill":"builtin","wait":"builtin","umask":"builtin","shift":"builtin","trap":"builtin","getopts":"builtin","command":"builtin","hash":"builtin","exit":"builtin","return":"builtin","break":"builtin","continue":"builtin",":":"builtin",".":"builtin","alias":"builtin","times":"builtin","local":"builtin"}},"seed":1979,"cases":[{"line":"ls $g","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$g\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *.txt *.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $f","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my","file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my","file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my","file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$f\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $f*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my","file.txt*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my","file.txt*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my","file.txt*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$f\"*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $e","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$e\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $e$e","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$e\"$e","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls ''","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a$e","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $w","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls x$w","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","x"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","x"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","x"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$e\"$w","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $w\"$e\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $w''$w","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls x\"$e\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","x"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","x"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","x"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $s","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$s\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls x$s\"y\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","x","a.txt","b.txt","y"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","x","a.txt","b.txt","y"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","x","a.txt","b.txt","y"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $p","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$p\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls .*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $d","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls .?*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls ..*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",".."],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","..*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","..*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls .h*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls '.'*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \\.*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [ab].txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [!a].txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [^a].txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls ?.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *.TXT","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*.TXT"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*.TXT"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*.TXT"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls nomatch*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $n","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$n\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls '*.txt'","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \\*.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"*\".txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $q","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$q\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [a-c]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [.]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[.]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[.]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[.]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [.h]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[.h]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[.h]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[.h]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *e","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls R*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [R]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [a-]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls []a]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [a","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[a"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[a"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[a"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a]","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [ab","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls []","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [!]","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[!]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[!]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[!]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [!]]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [a-a]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [c-a]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [--0]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[--0]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[--0]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[--0]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *[","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","*["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","*["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","*["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a[.]txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a?txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a*txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *.t*t","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"a\".*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a\"*\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a\"*\"$p","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a**"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a**"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a**"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [a\"b\"].txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [\"!\"a].txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [\"^\"a].txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [a\"-\"c]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [!.]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [!a-b]*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *\".\"*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls ?","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","?"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","?"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","?"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls ??????","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *.???","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *' '*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *\\ *","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls my\\ file.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls my' 'f*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *$e","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls cost$","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","cost$"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","cost$"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","cost$"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $.","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","$."],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","$."],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","$."],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a{b","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a{b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a{b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a{b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a~b","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a~b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a~b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a~b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > *.xyz","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $x","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > \"$x\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > a*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > R*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file R*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file README","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["README",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file R*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $p","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $n","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > nomatch*","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $t","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $f","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > \"$f\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $s","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $g","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$g: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $q","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file [ab].txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file [ab].txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $w","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $e\"x\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file x","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["x",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file x","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["x",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file x","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["x",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > $e","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"ls > \"$e\"","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"ls > $e$e","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e$e: ambiguous redirect"]}}},
{"line":"ls > ''","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"ls < $q","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"cat < $f","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat < \"my file.txt\"","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat < my\\ file.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat <$t","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls < nofile","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"ls $w > $w","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$e\" > o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >o 2>&1","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>&1 >o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >o 2>o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>o 2>&1","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 1>o 1>p 1>q","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file q","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0],["p",0],["q",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file q","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0],["p",0],["q",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file q","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0],["p",0],["q",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >o 2>&1 1>p","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0],["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0],["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0],["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 3>o 1>&3","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 3>o 4>&3 1>&4 3>&-","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[4,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[4,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[4,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>&-","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls <&-","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >&-","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >&2","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 1>&5","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["5: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["5: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["5: Bad file descriptor"]}}},
{"line":"ls >o 2>&5","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",0]],"missing":[],"errors":["badfd"],"stderr":["5: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[["o",0]],"missing":[],"errors":["badfd"],"stderr":["5: Bad file descriptor"]}}},
{"line":"ls 2>&5 >o","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["5: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["5: Bad file descriptor"]}}},
{"line":"ls >o 3<nofile","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[["o",0]],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[["o",0]],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[["o",0]],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"ls 3<a.txt 0<&3","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 3<a.txt 3<&-","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 5>&-","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2<&1","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 1>&0","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>&1 1>&2","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 1>&1","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 0<a.txt 1<b.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"file b.txt","r",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"file b.txt","r",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"file b.txt","r",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 0>o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file o","w",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file o","w",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file o","w",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 1<a.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","r",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","r",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","r",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 4<&0","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls <a.txt 2<&0","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls <&- >o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 0<&- 1>o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 9>o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[9,"file o","w",false,9]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[9,"file o","w",false,9]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[9,"file o","w",false,9]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >>c.log","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>>c.log >c.log","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"file c.log","w",true,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"file c.log","w",true,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"file c.log","w",true,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >o 1>>o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>/dev/null","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"/dev/null","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"/dev/null","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"/dev/null","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 3<a.txt >o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>o 2>&7","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[["o",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>o 1>&7","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[["o",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>o 2<nofile","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[["o",51]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",57]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["o",57]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>&1 1<nofile","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>o > $e","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[["o",56]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>o > $g","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"file o","w",false,2]]}],"changed":[["*.txt *.txt",0],["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"file o","w",false,2]]}],"changed":[["*.txt *.txt",0],["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2<nofile","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"ls 2>''","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"ls 2>o 1>&7 >p","kind":"hand","shells":{"dash":{"status":2,"procs":[],"changed":[["o",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >>c.log 2>&1","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"file c.log","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"file c.log","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"file c.log","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"> new.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[],"changed":[["new.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[],"changed":[["new.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[],"changed":[["new.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"$e","kind":"hand","shells":{"dash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"$e > new.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[],"changed":[["new.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[],"changed":[["new.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[],"changed":[["new.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"$e ls","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">o ls","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&1 >o ls a.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls a.txt 2>e b.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file e","w",false,2]]}],"changed":[["e",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file e","w",false,2]]}],"changed":[["e",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file e","w",false,2]]}],"changed":[["e",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"$c *.log","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"$c $g > $t","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls | wc","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>&1 | wc","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>&1 | wc >o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >o | wc","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls | wc <a.txt","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls | wc | sort","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>&1 1>/dev/null | wc","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[2,"pipe 1","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[2,"pipe 1","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[2,"pipe 1","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 3>o 1>&3 | wc","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,1]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls | wc 2>&1 | sort 2>o","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"pipe 2","w",false,1]]},{"argv":["sort"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"pipe 2","w",false,1]]},{"argv":["sort"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"pipe 2","w",false,1]]},{"argv":["sort"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"file o","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat <a.txt | wc >o 2>&1","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"file o","w",false,1],[2,"file o","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls *.txt | grep $g","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $g | wc","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls > *.xyz | wc","kind":"hand","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 ls 1>> $n","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3>&1 rm [ \"\"a]","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","[","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","[","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","[","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm \"\" $e$e READMEb.txt $n | ls [a.txt $s -l$c ''","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","","READMEb.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","[a.txt","a.txt","b.txt","-lls",""],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","","READMEb.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","[a.txt","a.txt","b.txt","-lls",""],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","","READMEb.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","[a.txt","a.txt","b.txt","-lls",""],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 wc .* $f$d","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head a.txt$p \"$f\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<$q ls >a* ${g} ?.txt${f}x *.t*t\"$p\" \"my file.txt\" | touch 1>&2 $qo","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"4>&2 wc","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 4>&2 *","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"a b\" | wc 0<&3 a.txt $d nofile 2>&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["ls","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["ls","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["ls","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat \"a b\" .* nofile $w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a b",".","..",".hidden.txt",".profile","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a b",".hidden.txt",".profile","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","a b",".hidden.txt",".profile","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp >&2 *.t*t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"> \"$e\" 3<&0 grep nomatch* o * 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"wc 1>$t 1>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch \"*\".txt [a-c]* $x \"*\".txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","*.txt","a.txt","b.txt","c.log","x.xyz","y.xyz","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","*.txt","a.txt","b.txt","c.log","x.xyz","y.xyz","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","*.txt","a.txt","b.txt","c.log","x.xyz","y.xyz","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head [c-a]* \"\" >&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","[c-a]*",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","[c-a]*",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","[c-a]*",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls $n \"$s\"\\*.txt 3>p 2>&- x${e}y c.log 2>&1 | ls $x \"my file.txt\" '' $gc.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","nomatch*","  a.txt   b.txt  *.txt","xy","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1],[3,"file p","w",false,3]]},{"argv":["ls","x.xyz","y.xyz","my file.txt","",".log"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","nomatch*","  a.txt   b.txt  *.txt","xy","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1],[3,"file p","w",false,3]]},{"argv":["ls","x.xyz","y.xyz","my file.txt","",".log"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","nomatch*","  a.txt   b.txt  *.txt","xy","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1],[3,"file p","w",false,3]]},{"argv":["ls","x.xyz","y.xyz","my file.txt","",".log"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 mv >&2 o","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2> $p","kind":"sweep","shells":{"dash":{"status":0,"procs":[],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm nofile 1>> o 1>c.log 2> \"$e\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["c.log",0],["o",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[["c.log",0],["o",0]],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[["c.log",0],["o",0]],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"<&- grep 3>&1 [ab].txt R*$p $t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","README","a.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","README","a.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","README","a.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 3>&1 0<$t '*'.txt 'my file.txt'","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","*.txt","my file.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","*.txt","my file.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","*.txt","my file.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head '*'.txt \"my file.txt\" *' '* 1>>\"$g\" $s","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","*.txt","my file.txt","my file.txt","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","*.txt","my file.txt","my file.txt","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","*.txt","my file.txt","my file.txt","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 mv 3>&1 > $f | mv >&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3<$q cp b.txt <&- | grep \"$s\" 0<*.xyz ??????o [^a]*o | touch $s \"\"$q > $t R* 1> $f","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","a.txt","b.txt","README"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0],["my file.txt",0]],"missing":[],"errors":["open","open"],"stderr":["cannot open *.xyz: No such file","cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[["a.txt",0]],"missing":[],"errors":["ambiguous","ambiguous","ambiguous"],"stderr":["$f: ambiguous redirect","$q: ambiguous redirect","*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","a.txt","b.txt","README"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0],["my file.txt",0]],"missing":[],"errors":["open","open"],"stderr":["*.xyz: No such file or directory","[ab].txt: No such file or directory"]}}},
{"line":"3<&0 touch 'my file.txt' README","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","my file.txt","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","my file.txt","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","my file.txt","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"0<$q touch","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"rm x${e}y${f}x .*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","xymy","file.txtx",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","xymy","file.txtx",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","xymy","file.txtx",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 2>$e .**.xyz $n b.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"ls <a.txt 4>&2 | 2>>a.txt 1>&2 mv","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"file a.txt","w",true,1],[2,"file a.txt","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"file a.txt","w",true,1],[2,"file a.txt","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"file a.txt","w",true,1],[2,"file a.txt","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv $qx.xyz >&- \"$g\" >&- | 0<&3 ls a.txt >>p \"$s\"$f 3<&0","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["mv",".xyz","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["mv",".xyz","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["mv",".xyz","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"0<[ab].txt grep x${e}y $x?????? *\\*.txt $fb.txt | >>$x head 1>R* <[ab].txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["*.xyz",0],["R*",0]],"missing":[],"errors":["open","open"],"stderr":["cannot open [ab].txt: No such file","cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","ambiguous"],"stderr":["$x: ambiguous redirect","[ab].txt: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[["*.xyz",0],["R*",0]],"missing":[],"errors":["open","open"],"stderr":["[ab].txt: No such file or directory","[ab].txt: No such file or directory"]}}},
{"line":"touch","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>>$x touch 0<&3 4>&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["*.xyz",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[["*.xyz",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp README nomatch*[!a]* [!a]* 1>> $x [!.]* 1>>\"$f\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README","nomatch*[!a]*","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","README","nomatch*[!a]*","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls c.log $s","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","c.log","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","c.log","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","c.log","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">>a* cp [c-a]*o | rm 1>$e 3<&0","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["cp","[c-a]*o"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[{"argv":["cp","[c-a]*o"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[{"argv":["cp","[c-a]*o"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"3>> $q mv 0<&3","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file [ab].txt","w",true,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file [ab].txt","w",true,0]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file [ab].txt","w",true,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file [ab].txt","w",true,0]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 > $n cp ${f}x\"$q\" ${f}x","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch [c-a]*$g \"$p\" 1>&2 3>&1 a] | 0<&3 sort > $e | 1>$t 0<c.log sort 2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["touch","[c-a]**.txt","a.txt","b.txt","my file.txt","*","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 2","w",false,1]]}],"changed":[["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["touch","[c-a]**.txt","a.txt","b.txt","my file.txt","*","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 2","w",false,1]]}],"changed":[["a.txt",0]],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["touch","[c-a]**.txt","a.txt","b.txt","my file.txt","*","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 2","w",false,1]]}],"changed":[["a.txt",0]],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]}}},
{"line":"1>>$q grep <R* \"$s\" \"$p\"a.txt 2>&1 $x | 3<[ab].txt cp ''nofile b.txt [ 2>&- 0<&3 | sort $f >&- 2>$q <a.txt \"my file.txt\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","nofile","b.txt","["],"fds":[[0,"file [ab].txt","r",false,0],[1,"pipe 1","w",false,1],[3,"file [ab].txt","r",false,0]]},{"argv":["sort","my","file.txt","my file.txt"],"fds":[[0,"file a.txt","r",false,0],[2,"file [ab].txt","w",false,2]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","ambiguous","ambiguous"],"stderr":["$q: ambiguous redirect","$q: ambiguous redirect","[ab].txt: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","nofile","b.txt","["],"fds":[[0,"file [ab].txt","r",false,0],[1,"pipe 1","w",false,1],[3,"file [ab].txt","r",false,0]]},{"argv":["sort","my","file.txt","my file.txt"],"fds":[[0,"file a.txt","r",false,0],[2,"file [ab].txt","w",false,2]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"1>&3 rm [a-c]* 2>&3 >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":">&2 2>&1 | ls a.txt 2>&1 2>&- 4>&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>&3 3<[ab].txt ls","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"ls $e > \"$e\" ?.txt\\*.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"grep [ab].txt \"a b\" 2>&1 'my file.txt' $n","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","a b","my file.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","a b","my file.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","a b","my file.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep [a-c]*x.xyz ${f}x","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","[a-c]*x.xyz","my","file.txtx"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","[a-c]*x.xyz","my","file.txtx"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","[a-c]*x.xyz","my","file.txtx"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 2> a.txt READMEo >>'' \"a b\"?????? 4>&2 $f\"$q\" ${f}x","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["a.txt",56]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["a.txt",51]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["a.txt",51]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 cp ?.txt [!a]* [ab >&- | cat 3>&1 2>> $n 1>>\"my file.txt\" my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"file nomatch*","w",true,2],[3,"inherited 1","w",false,3]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"file nomatch*","w",true,2],[3,"inherited 1","w",false,3]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["cat","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"file nomatch*","w",true,2],[3,"inherited 1","w",false,3]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3<$t 1>&3 wc nofile*' '* \"a b\" README$e $d[a-c]* | 3<&0 sort my\\ file.txt\"$s\" * c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","nofile* *","a b","README",".*[a-c]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","r",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,1]]},{"argv":["sort","my file.txt  a.txt   b.txt  ","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","c.log"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","nofile* *","a b","README",".*[a-c]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","r",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,1]]},{"argv":["sort","my file.txt  a.txt   b.txt  ","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","c.log"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","nofile* *","a b","README",".*[a-c]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","r",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,1]]},{"argv":["sort","my file.txt  a.txt   b.txt  ","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","c.log"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<R* touch \"$f\" '*'.txt?.txt 2>&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["touch","my file.txt","*.txt?.txt"],"fds":[[0,"file README","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"mv","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm .* \"$g\"[^a]* o$p >&2 >>$s 1>''","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"<\"my file.txt\" grep x.xyz 0<c.log $s \"\" ${g} >R*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","x.xyz","a.txt","b.txt","","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"file c.log","r",false,0],[1,"file R*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","x.xyz","a.txt","b.txt","","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"file c.log","r",false,0],[1,"file README","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["README",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","x.xyz","a.txt","b.txt","","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"file c.log","r",false,0],[1,"file R*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat \"$g\"a.txt [ >&- my\\ file.txt 1>>c.log \"\" | grep [!.]* 0<&3 ${f}x $x","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["cat","*.txt *.txta.txt","[","my file.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["cat","*.txt *.txta.txt","[","my file.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["cat","*.txt *.txta.txt","[","my file.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"wc -l 1>\"my file.txt\" README[!.]* 3>&1 \"$p\" [a-c]* | cp $n$d $n 2>&3 ${f}x?.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["wc","-l","README[!.]*","*","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["wc","-l","README[!.]*","*","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["wc","-l","README[!.]*","*","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"ls \"$f\" nofile c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txt","nofile","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txt","nofile","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txt","nofile","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch 3<$t 3<&0 nofile 3>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 3<$q 1>&2 '' 3>> $q [^a]* | 3<\"my file.txt\" grep $x \"$q\" 2>> $p","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","x.xyz","y.xyz","[ab].txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"file *","w",true,2],[3,"file my file.txt","r",false,3]]}],"changed":[["*",0]],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","ambiguous"],"stderr":["$p: ambiguous redirect","$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep","x.xyz","y.xyz","[ab].txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"file *","w",true,2],[3,"file my file.txt","r",false,3]]}],"changed":[["*",0]],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":">&- grep x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp 1>> $p $s$p | ls $dx.xyz \"$f\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["ls",".xyz","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".xyz","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["ls",".xyz","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<$t 2>&1 >&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 mv","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"1>&2 3<&0 mv 3<c.log a]\"$q\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","a][ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","a][ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","a][ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<c.log touch 1>>\"my file.txt\" [^a]* 2>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"file my file.txt","w",true,1],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"file my file.txt","w",true,1],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"file my file.txt","w",true,1],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- wc my\\ file.txto","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","my file.txto"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","my file.txto"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","my file.txto"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv $p > \"$f\" my\\ file.txt .*R*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","my file.txt",".*R*"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","my file.txt",".*R*"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","my file.txt",".*R*"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&- sort a] 1>&2 *.xyz","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp \"my file.txt\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>$x 0<$f rm *.t*t b.txt [!.]* $t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","a.txt","b.txt","my file.txt","b.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a.txt"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",false,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["rm","a.txt","b.txt","my file.txt","b.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a.txt"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",false,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- mv x${e}y $c 2>&1 \"$e\" x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","xy","ls","","x.xyz"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","xy","ls","","x.xyz"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","xy","ls","","x.xyz"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc 3<&0 0<&3 nomatch* c.log 1>&3 a][ab","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","nomatch*","c.log","a][ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","nomatch*","c.log","a][ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","nomatch*","c.log","a][ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls ${f}xa.txt [!.]* >&2 $f[c-a]* $d","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my","file.txtxa.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","my","file.txt[c-a]*",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my","file.txtxa.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","my","file.txt[c-a]*",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my","file.txtxa.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","my","file.txt[c-a]*",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">>o >&- 0<$t cat | sort \"\" $f my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[2,"inherited 2","w",false,2]]},{"argv":["sort","","my","file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[2,"inherited 2","w",false,2]]},{"argv":["sort","","my","file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[2,"inherited 2","w",false,2]]},{"argv":["sort","","my","file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 head $x $e","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head 3>&1 []a]* *.t*t$t 1>&3 *.txt 3>>*.xyz b.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","*.t*ta.txt","a.txt","b.txt","my file.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",true,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","*.t*ta.txt","a.txt","b.txt","my file.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",true,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>$e cp 4>&2 3<&0","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"2>&- cat $g","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv >&2 3<R* 3<c.log [!.]*[","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["mv","[!.]*["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"cp [!a]* 1>&2 $d 2> '' 3<&0","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"wc 3<nofile o >&2 2>c.log","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":">> c.log > *.xyz grep c.log a.txt[!.]* | >>\"$g\" cp","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","c.log","a.txt[!.]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"file *.txt *.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0],["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"file *.txt *.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep","c.log","a.txt[!.]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"file *.txt *.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0],["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<&0 head \"a b\" $w ??????","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a b","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a b","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","a b","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>&3 2> p 2>&- grep | cat $c$c *' '*[!.]* *' '* 2>R* \"a b\" | ls","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","lsls","my file.txt","my file.txt","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file R*","w",false,2]]},{"argv":["ls"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["cat","lsls","my file.txt","my file.txt","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file README","w",false,2]]},{"argv":["ls"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["README",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["cat","lsls","my file.txt","my file.txt","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file R*","w",false,2]]},{"argv":["ls"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"grep <R* 3>>p 3>&1","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"file README","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"head \"my file.txt\" my\\ file.txt\"$p\" 4>&2 b.txt 2>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","my file.txt","my file.txt*","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","my file.txt","my file.txt*","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","my file.txt","my file.txt*","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- cp 1>&3 [$x *e $f >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"1>&2 sort | cp 0<&3 3>&1 2>&1","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"> $s wc | 0<c.log ls \"$e\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls",""],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",""],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls",""],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 grep ??????[a-c]* R* ?.txtb.txt 1>&2 | head $g nomatch* my\\ file.txt 'my file.txt'","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","nomatch*","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","nomatch*","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","nomatch*","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2> o 1>&3 sort 1>&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["o",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["o",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head [a-c]* \"a b\"\"*\".txt README [!a]* 0<&3 <&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head []a]* >'' b.txt >&2 $t*.txt | touch 2>&1 R*$p a.txt [^a]*\"$e\" 1>&3 '' 3>>c.log | head 'my file.txt' ?.txt$c >> $e onomatch*","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open","open"],"stderr":["cannot create : Directory nonexistent","cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","open"],"stderr":["$e: ambiguous redirect",": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","open"],"stderr":["$e: ambiguous redirect",": No such file or directory"]}}},
{"line":"cp 2> c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file c.log","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file c.log","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file c.log","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort '*'.txt?.txt 3>&1 <&- <&- x${e}y $d | touch \"\" b.txt $s","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","*.txt?.txt","xy",".","..",".hidden.txt",".profile"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["touch","","b.txt","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","*.txt?.txt","xy",".hidden.txt",".profile"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["touch","","b.txt","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","*.txt?.txt","xy",".hidden.txt",".profile"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["touch","","b.txt","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3> $n grep 3<$t $t \"a b\" x.xyz?.txt >&- | wc \"$e\" 3>> $p \\*.txt*.t*t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","a b","x.xyz?.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]},{"argv":["wc","","*.txt*.t*t"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *","w",true,3]]}],"changed":[["*",0],["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["grep","a.txt","a b","x.xyz?.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","a b","x.xyz?.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]},{"argv":["wc","","*.txt*.t*t"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *","w",true,3]]}],"changed":[["*",0],["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 wc <$q \"$f\" 3>> c.log | 3>o <a.txt 1> $t ls","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,3]]}],"changed":[["a.txt",0],["o",0]],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,3]]}],"changed":[["a.txt",0],["o",0]],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"file a.txt","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file o","w",false,3]]}],"changed":[["a.txt",0],["o",0]],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"cat \"\" 0<[ab].txt b.txt$t $ea] nofile | sort 'my file.txt'nofile '*'.txt$f 1>> $p","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","my file.txtnofile","*.txtmy","file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","ambiguous"],"stderr":["$p: ambiguous redirect","[ab].txt: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["sort","my file.txtnofile","*.txtmy","file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"sort x.xyzREADME *.xyz $d R* >$f","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","x.xyzREADME","x.xyz","y.xyz",".","..",".hidden.txt",".profile","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["sort","x.xyzREADME","x.xyz","y.xyz",".hidden.txt",".profile","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 3<$f $go","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat \"$e\"\"$p\" $c","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","*","ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","*","ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","*","ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [!a]*README | 2>&1 4>&2 grep $t <a.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[!a]*README"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[!a]*README"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[!a]*README"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm 2>&1 1> $f 3>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 1","w",false,2],[3,"file my file.txt","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 1","w",false,2],[3,"file my file.txt","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort >&- 0<&3 \"my file.txt\" 1>&2 | cat","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"sort [ab\"$q\" 1>> R*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","[ab[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file R*","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","[ab[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file README","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","[ab[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file R*","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch 0<&3 <c.log $w 3>>/dev/null | >&- 1>&3 head >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]}}},
{"line":"1>> '' 1>&3 sort >&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"mv 0<&3 x${e}y nofile *.xyza.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"mv \"$s\" [ab nofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","  a.txt   b.txt  ","[ab","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","  a.txt   b.txt  ","[ab","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","  a.txt   b.txt  ","[ab","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch $g 3>> $q \"$p\" $g 0<R*","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["[ab].txt",0]],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[["[ab].txt",0]],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":">&- 3>&1 2> $g rm \"$g\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["1: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["1: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["1: Bad file descriptor"]}}},
{"line":"cp $g | ls $q \"$e\" \"*\".txtb.txt \"a b\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","a.txt","b.txt","","*.txtb.txt","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","a.txt","b.txt","","*.txtb.txt","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","a.txt","b.txt","","*.txtb.txt","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort .* [ 0<a.txt \"*\".txt\"$f\" 4>&2 0<[ab].txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["[ab].txt: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"cat 0<*.xyz","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open *.xyz: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["*.xyz: No such file or directory"]}}},
{"line":"2>\"my file.txt\" head 3>&1 ${g}\"*\".txt 1> a* my\\ file.txt ${f}x R*[c-a]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","*.txt*.txt","my file.txt","my","file.txtx","R*[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",false,1],[2,"file my file.txt","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["a*",0],["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","*.txt*.txt","my file.txt","my","file.txtx","R*[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"file my file.txt","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["a.txt",0],["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","*.txt*.txt","my file.txt","my","file.txtx","R*[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",false,1],[2,"file my file.txt","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["a*",0],["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch [","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","["],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp 2>&- $x 1>&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- 1>>$e","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"<&- 4>&2 2>&1 cp README","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&- sort $d\"$q\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort",".*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort",".*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort",".*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<R* mv \"$f\" c.log","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["mv","my file.txt","c.log"],"fds":[[0,"file README","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"cat my\\ file.txt \"*\".txt * 2>&- o | 1> $x 3<&0 2> $t mv \"$g\" \"a b\" .?*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","my file.txt","*.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","o"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1]]},{"argv":["mv","*.txt *.txt","a b","..",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"file *.xyz","w",false,1],[2,"file a.txt","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[["*.xyz",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["cat","my file.txt","*.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","o"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cat","my file.txt","*.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","o"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1]]},{"argv":["mv","*.txt *.txt","a b",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"file *.xyz","w",false,1],[2,"file a.txt","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[["*.xyz",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm .h*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm $po 2>&1 R* <&- $f$f a] 2>&1 | cp b.txt $p *.txt 0<&3 [ab","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["rm","README","my","file.txtmy","file.txt","a]"],"fds":[[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["rm","README","my","file.txtmy","file.txt","a]"],"fds":[[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["rm","README","my","file.txtmy","file.txt","a]"],"fds":[[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head 1>>$p | >&2 2>$q mv 0<$q | cat ${g}.* \"\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"file [ab].txt","r",false,0],[1,"inherited 2","w",false,1],[2,"file [ab].txt","w",false,2]]},{"argv":["cat","[ab].txt","a.txt","b.txt","my file.txt","*.txt.*",""],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0],["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","my file.txt","*.txt.*",""],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous","ambiguous"],"stderr":["$p: ambiguous redirect","$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"file [ab].txt","r",false,0],[1,"inherited 2","w",false,1],[2,"file [ab].txt","w",false,2]]},{"argv":["cat","[ab].txt","a.txt","b.txt","my file.txt","*.txt.*",""],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*",0],["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls x${e}y '' [a-c]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","xy","","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","xy","","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","xy","","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&1 ls a.txt${g} *.xyz READMEREADME","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt*.txt","a.txt","b.txt","my file.txt","x.xyz","y.xyz","READMEREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt*.txt","a.txt","b.txt","my file.txt","x.xyz","y.xyz","READMEREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt*.txt","a.txt","b.txt","my file.txt","x.xyz","y.xyz","READMEREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&1 wc b.txt [!.]* 1> $w README \"a b\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","b.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","README","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","b.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","README","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 wc 0<$q | ls o 1>&2 2>&- <$t nofile$d | 3<$f >&2 rm 2> \"$f\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","o","nofile.*"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 2","w",false,1]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"file my file.txt","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["ls","o","nofile.*"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous","badfd"],"stderr":["$f: ambiguous redirect","3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["ls","o","nofile.*"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 2","w",false,1]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"file my file.txt","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat 2>&3 [^a]* $d 1>> $x x.xyz 2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat *.t*t $f *.txt$g | >>\"$f\" touch $n >&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","my file.txt","my","file.txt","*.txt*.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","nomatch*"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","my file.txt","my","file.txt","*.txt*.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","nomatch*"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","my file.txt","my","file.txt","*.txt*.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","nomatch*"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 sort $q > \"$e\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"mv 3>>R* x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file R*","w",true,3]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file README","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file R*","w",true,3]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&- 2>>*.xyz cp 3<[ab].txt 'my file.txt'$t","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["*.xyz",53]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[["*.xyz",59]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 0<&3 $p 3>>c.log | head 0<&3 1>\"$g\" \"$s\"\"$e\" x${e}yo *.xyz","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]}}},
{"line":"3>&1 touch '*'.txt* $g my\\ file.txt \"$f\" 0<&3 2>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","*.txt*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","my file.txt","my file.txt"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 1","w",false,0],[3,"inherited 1","w",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","*.txt*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","my file.txt","my file.txt"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 1","w",false,0],[3,"inherited 1","w",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","*.txt*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","my file.txt","my file.txt"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 1","w",false,0],[3,"inherited 1","w",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<nofile grep $e >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"1>>\"$g\" >>$x 3<&0","kind":"sweep","shells":{"dash":{"status":0,"procs":[],"changed":[["*.txt *.txt",0],["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[],"changed":[["*.txt *.txt",0],["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 'my file.txt' <*.xyz","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open *.xyz: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["*.xyz: No such file or directory"]}}},
{"line":"ls \"my file.txt\"nofile $s 3>>c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my file.txtnofile","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","my file.txtnofile","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","my file.txtnofile","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm 2>> c.log >> $q my\\ file.txt $p 3> c.log [!.]*\"$s\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","[!.]*  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"file [ab].txt","w",true,1],[2,"file c.log","w",true,2],[3,"file c.log","w",false,3]]}],"changed":[["[ab].txt",0],["c.log",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["c.log",52]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","[!.]*  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"file [ab].txt","w",true,1],[2,"file c.log","w",true,2],[3,"file c.log","w",false,3]]}],"changed":[["[ab].txt",0],["c.log",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- cp 3<\"my file.txt\" $g R* \"a b\" 2> *.xyz a][!.]* | sort \"$g\" 2>>/dev/null [ab .?*$n my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","README","a b","a][!.]*"],"fds":[[1,"pipe 1","w",false,1],[2,"file *.xyz","w",false,2],[3,"file my file.txt","r",false,3]]},{"argv":["sort","*.txt *.txt","[ab",".?*nomatch*","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"/dev/null","w",true,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","*.txt *.txt","[ab",".?*nomatch*","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"/dev/null","w",true,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","README","a b","a][!.]*"],"fds":[[1,"pipe 1","w",false,1],[2,"file *.xyz","w",false,2],[3,"file my file.txt","r",false,3]]},{"argv":["sort","*.txt *.txt","[ab",".?*nomatch*","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"/dev/null","w",true,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort $c >&- 3>>$p 3>p","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","ls"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"file p","w",false,3]]}],"changed":[["*",0],["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["sort","ls"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[3,"file p","w",false,3]]}],"changed":[["*",0],["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<&0 rm <&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc 2>>$w | 2>&3 3>&1 rm ${g} my\\ file.txt \"a b\" >>R* ${f}x","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file    ","w",true,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","badfd"],"stderr":["$w: ambiguous redirect","3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file    ","w",true,2]]}],"changed":[["   ",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":">$s 2>$w touch $f -l [^a]* nofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","my","file.txt","-l","a.txt","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"file    ","w",false,2]]}],"changed":[["   ",0],["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["touch","my","file.txt","-l","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"file    ","w",false,2]]}],"changed":[["   ",0],["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head nofileb.txt >&- 4>&2 | 3>>c.log touch \"$p\"?.txt [^a]* nofile$s","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","nofileb.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["touch","*?.txt","a.txt","nofile","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","nofileb.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["touch","*?.txt","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","nofile","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","nofileb.txt"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["touch","*?.txt","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","nofile","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort | sort .?* $x${f}x 2>&- 2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<nofile 2>>$w cat","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"cp 2>&3 \"*\".txt [ab].txt >&- $x","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>>$x cp ${f}x \"\" 3>>a.txt 'my file.txt' <&- $q'*'.txt | 1>&2 grep 1>&3 $w .?*nofile <&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["cp","my","file.txtx","","my file.txt","[ab].txt*.txt"],"fds":[[1,"pipe 1","w",false,1],[2,"file *.xyz","w",true,2],[3,"file a.txt","w",true,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","badfd"],"stderr":["$x: ambiguous redirect","3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["cp","my","file.txtx","","my file.txt","[ab].txt*.txt"],"fds":[[1,"pipe 1","w",false,1],[2,"file *.xyz","w",true,2],[3,"file a.txt","w",true,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat >&2 >&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep x.xyza.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","x.xyza.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","x.xyza.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","x.xyza.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm [ab].txt\"$s\" 0<[ab].txt c.log <&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["[ab].txt: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"ls $d <a.txt $s .**.xyz 4>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls",".","..",".hidden.txt",".profile","a.txt","b.txt",".**.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile","a.txt","b.txt",".**.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls",".hidden.txt",".profile","a.txt","b.txt",".**.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1> R* >a.txt 1>&3 rm [!a]*b.txt $q[ x${e}y *.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["R*",0],["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[["README",0],["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[["R*",0],["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3> $s touch 3<\"my file.txt\" o '*'.txt $sREADME","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","o","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["touch","o","*.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc $s nofile[!.]* $p nofile | mv >c.log a.txt >&2 <&- .?* -l | ls","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","nofile[!.]*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv","a.txt","..",".hidden.txt",".profile","-l"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["ls"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","nofile[!.]*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv","a.txt",".hidden.txt",".profile","-l"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["ls"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","nofile[!.]*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv","a.txt",".hidden.txt",".profile","-l"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["ls"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm \"\"$q my\\ file.txt $fo *' '*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","a.txt","b.txt","my file.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","a.txt","b.txt","my file.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","a.txt","b.txt","my file.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort 3>p 3<$q 1>> R* \"$f\" c.log","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["p",0]],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[["p",0]],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[["p",0]],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"2>&1 3<$f grep >&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"file my file.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"file my file.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 wc >$g | grep ${f}x | cat","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,3]]},{"argv":["grep","my","file.txtx"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","my","file.txtx"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$g: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,3]]},{"argv":["grep","my","file.txtx"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>&2 1>&3 ls","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"1>> '' 1>\"my file.txt\" 1> $w","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"cp 2>$p <&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp"],"fds":[[1,"inherited 1","w",false,1],[2,"file *","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp"],"fds":[[1,"inherited 1","w",false,1],[2,"file *","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 cat $w$x >/dev/null *.xyz$s 2>&- | cat","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","x.xyz","y.xyz","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[3,"pipe 1","w",false,3]]},{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","x.xyz","y.xyz","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[3,"pipe 1","w",false,3]]},{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","x.xyz","y.xyz","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[3,"pipe 1","w",false,3]]},{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv 2>> \"$g\" >&- \"\" | 1>&3 touch b.txt b.txt$s 'my file.txt' | ls o[ $x <c.log my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv",""],"fds":[[0,"inherited 0","r",false,0],[2,"file *.txt *.txt","w",true,2]]},{"argv":["ls","o[","x.xyz","y.xyz","my file.txt"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["mv",""],"fds":[[0,"inherited 0","r",false,0],[2,"file *.txt *.txt","w",true,2]]},{"argv":["ls","o[","x.xyz","y.xyz","my file.txt"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["mv",""],"fds":[[0,"inherited 0","r",false,0],[2,"file *.txt *.txt","w",true,2]]},{"argv":["ls","o[","x.xyz","y.xyz","my file.txt"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head my\\ file.txt 1>> $e o 3>&1 $g [ab].txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"3>>$e wc $d$q | grep 3>> $g [c-a]* 0<c.log | 1>> $s rm a] my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","[c-a]*"],"fds":[[0,"file c.log","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.txt *.txt","w",true,3]]},{"argv":["rm","a]","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0],["*.txt *.txt",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","ambiguous","ambiguous"],"stderr":["$e: ambiguous redirect","$g: ambiguous redirect","$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep","[c-a]*"],"fds":[[0,"file c.log","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.txt *.txt","w",true,3]]},{"argv":["rm","a]","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0],["*.txt *.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"2>&- grep \"$p\" <&- x.xyz\"$f\" nomatch* 0<$t [!a]* | touch \"\" $q[ -l","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","*","x.xyzmy file.txt","nomatch*","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1]]},{"argv":["touch","","[ab].txt[","-l"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","*","x.xyzmy file.txt","nomatch*","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1]]},{"argv":["touch","","[ab].txt[","-l"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","*","x.xyzmy file.txt","nomatch*","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1]]},{"argv":["touch","","[ab].txt[","-l"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort $n 3<$t R* nofile\\*.txt 4>&2 '' 4>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","nomatch*","README","nofile*.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","nomatch*","README","nofile*.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","nomatch*","README","nofile*.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&- 2>> $n cat .* \"my file.txt\" \"$g\" 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["nomatch*",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["nomatch*",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["nomatch*",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch 3>$q .* 4>&2 ?.txt* \"$e\"o","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch",".","..",".hidden.txt",".profile","a.txt","b.txt","o"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file [ab].txt","w",false,3],[4,"inherited 2","w",false,2]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["touch",".hidden.txt",".profile","a.txt","b.txt","o"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file [ab].txt","w",false,3],[4,"inherited 2","w",false,2]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch *.txt x.xyzo 4>&2 $w <&- b.txt | ls ?.txt | 0<$f grep 3<[ab].txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["touch","a.txt","b.txt","my file.txt","x.xyzo","b.txt"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["ls","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[{"argv":["touch","a.txt","b.txt","my file.txt","x.xyzo","b.txt"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["ls","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":1,"procs":[{"argv":["touch","a.txt","b.txt","my file.txt","x.xyzo","b.txt"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]},{"argv":["ls","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"3> a* cat '' ${g} 2>&3 b.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a*","w",false,2],[3,"file a*","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","w",false,2],[3,"file a.txt","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a*","w",false,2],[3,"file a*","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort \"a b\" R*${g} my\\ file.txt [!a]* | cat *e \\*.txtx.xyz nofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","a b","R**.txt","a.txt","b.txt","my file.txt","my file.txt","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat","*e","*.txtx.xyz","nofile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","a b","R**.txt","a.txt","b.txt","my file.txt","my file.txt","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat","*e","*.txtx.xyz","nofile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","a b","R**.txt","a.txt","b.txt","my file.txt","my file.txt","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat","*e","*.txtx.xyz","nofile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head 2>&3 *e *e","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch >&2 R*.h* 3>> '' $e","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"head READMEc.log $g .*$f 1>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","READMEc.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".*my","file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","READMEc.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".*my","file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","READMEc.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".*my","file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm $t >&- b.txt >> '' *e*.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"head 2>&3 <&- README > $w \"my file.txt\" x${e}y[]a]* .?* | 0<R* cp","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"file README","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","open"],"stderr":["3: Bad file descriptor","R*: No such file or directory"]}}},
{"line":"cat \"$f\" o","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","my file.txt","o"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","my file.txt","o"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","my file.txt","o"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- 3<&0 | mv README$t \"my file.txt\" 3<R* 2>&- nofile 1>&2 x${e}y","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd","open"],"stderr":["0: Bad file descriptor","cannot open R*: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["0: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","open"],"stderr":["0: Bad file descriptor","R*: No such file or directory"]}}},
{"line":"2>&3 2>&- cp o","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"mv [ab[]a]* $w | 2>&3 ls \"my file.txt\"o README $t | 2> '' cat [a-c]*","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["mv","[ab[]a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[{"argv":["mv","[ab[]a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd","open"],"stderr":["3: Bad file descriptor",": No such file or directory"]},"posix":{"status":1,"procs":[{"argv":["mv","[ab[]a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd","open"],"stderr":["3: Bad file descriptor",": No such file or directory"]}}},
{"line":"2>&- wc $q *.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&- touch","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"wc x.xyz.?* READMEa.txt 3<&0 >&- 0<c.log ?.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","x.xyz.?*","READMEa.txt","a.txt","b.txt"],"fds":[[0,"file c.log","r",false,0],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","x.xyz.?*","READMEa.txt","a.txt","b.txt"],"fds":[[0,"file c.log","r",false,0],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","x.xyz.?*","READMEa.txt","a.txt","b.txt"],"fds":[[0,"file c.log","r",false,0],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<\"my file.txt\" mv 2> p $f 3>&1 | cp [abnomatch* \"$q\" <&- .h* a]","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","my","file.txt"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"file p","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["cp","[abnomatch*","[ab].txt",".hidden.txt","a]"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","my","file.txt"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"file p","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["cp","[abnomatch*","[ab].txt",".hidden.txt","a]"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","my","file.txt"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"file p","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["cp","[abnomatch*","[ab].txt",".hidden.txt","a]"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>> /dev/null wc README\"$g\" | cat *' '*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","README*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"/dev/null","w",true,2]]},{"argv":["cat","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","README*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"/dev/null","w",true,2]]},{"argv":["cat","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","README*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"/dev/null","w",true,2]]},{"argv":["cat","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort 1>&3 $w$c [c-a]* 4>&2 'my file.txt'x.xyz 4>&2 o","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":">&2 1>&2 cp 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cp | cp ??????$c nomatch* \"$p\" ?.txt | sort ''$f 3>&1 nomatch*README c.logREADME 1>&2 x.xyz${f}x","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","??????ls","nomatch*","*","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort","my","file.txt","nomatch*README","c.logREADME","x.xyzmy","file.txtx"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","??????ls","nomatch*","*","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort","my","file.txt","nomatch*README","c.logREADME","x.xyzmy","file.txtx"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","??????ls","nomatch*","*","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort","my","file.txt","nomatch*README","c.logREADME","x.xyzmy","file.txtx"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc \"a b\" b.txtx${e}y","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a b","b.txtxy"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","a b","b.txtxy"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","a b","b.txtxy"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head $s README $d","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","README",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","README",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","README",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 1>&2 [!a]* 2>&3 [ab].txt[c-a]* \"\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cp 3>> $e >&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"sort nomatch*[a-c]* >&2 \"\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","nomatch*[a-c]*",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","nomatch*[a-c]*",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","nomatch*[a-c]*",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- wc x.xyz README x${e}ya] '''*'.txt 1>> a.txt >&2 | 1>&3 cp ${f}x","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["wc","x.xyz","README","xya]","*.txt"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["wc","x.xyz","README","xya]","*.txt"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["wc","x.xyz","README","xya]","*.txt"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":">\"my file.txt\" 1>> $n ls | 3>&1 >&2 mv","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[["my file.txt",0],["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[["my file.txt",0],["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"file nomatch*","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[["my file.txt",0],["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm [c-a]*x.xyz c.log <&- \"$g\" 2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":">&2 cat \"a b\" | grep \"$q\"$c \"*\".txt 1>>$e a.txt *e","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["cat","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[{"argv":["cat","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[{"argv":["cat","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"cp [!a]* [^a]*.h*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","[^a]*.h*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","[^a]*.h*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","[^a]*.h*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 4>&2 2>&- \"$s\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&2 grep >&2 $d 1>&3 | rm nofile[ 'my file.txt'x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","nofile[","my file.txtx.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["rm","nofile[","my file.txtx.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["rm","nofile[","my file.txtx.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch ?.txt o[ab \"a b\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","o[ab","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","o[ab","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","o[ab","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head $q <&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","b.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv \"my file.txt\"x.xyz $t c.log $g","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","my file.txtx.xyz","a.txt","c.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","my file.txtx.xyz","a.txt","c.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","my file.txtx.xyz","a.txt","c.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 rm a.txt *.t*t .* ${g} | ls >&- 2>&3 >$n ${f}xa] $f","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]}}},
{"line":"wc ${f}x 3<[ab].txt 2>'' [ ?????? | 1>&2 mv","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["[ab].txt: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"touch ?????? \"*\".txt o \\*.txt$p | 2>&1 wc READMEo >&- o *.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","README","*.txt","o","*.txt*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","READMEo","o","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 1","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","README","*.txt","o","*.txt*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","READMEo","o","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 1","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","README","*.txt","o","*.txt*"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","READMEo","o","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 1","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3> R* ls $n a.txt >&2 1>&2 my\\ file.txt \"$s\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","nomatch*","a.txt","my file.txt","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file R*","w",false,3]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","nomatch*","a.txt","my file.txt","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file README","w",false,3]]}],"changed":[["README",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","nomatch*","a.txt","my file.txt","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file R*","w",false,3]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>> R* head","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file R*","w",true,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file README","w",true,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file R*","w",true,2]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<$t mv","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&1 >o head $ta.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head",".txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head",".txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head",".txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"4>&2 ls b.txt .h* $t 0<&3 | ls | cp $pnofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"ls 2>&3 4>&2 2>> $p","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat *' '* <&- 3>>$e [ab].txtnofile <$f | cp '' > $q | 0<$t cp [a-c]* 3>&1 *.txtc.log -l a.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp",""],"fds":[[0,"pipe 1","r",false,0],[1,"file [ab].txt","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","a.txt","b.txt","c.log","*.txtc.log","-l","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","c.log","*.txtc.log","-l","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous","ambiguous"],"stderr":["$e: ambiguous redirect","$q: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp",""],"fds":[[0,"pipe 1","r",false,0],[1,"file [ab].txt","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","a.txt","b.txt","c.log","*.txtc.log","-l","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[["[ab].txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"2>&- wc \\*.txt*' '* [ab].txt 3<&0 1>> *.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","*.txt* *","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",true,1],[3,"inherited 0","r",false,0]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","*.txt* *","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",true,1],[3,"inherited 0","r",false,0]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&- mv 2>&1 2>&1 $q","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp \\*.txt [a-c]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","*.txt","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","*.txt","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","*.txt","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc o 3>> o 3>&1 <\"my file.txt\" \"a b\"$p | 2>&3 head $f","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["wc","o","a b*"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["wc","o","a b*"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["wc","o","a b*"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head >>'' 0<&3 \"\" 3<&0 README \\*.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"cp nofile *.xyz \"$e\"\"$s\" $go","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","nofile","x.xyz","y.xyz","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","nofile","x.xyz","y.xyz","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","nofile","x.xyz","y.xyz","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 3<$f 2>&- \"a b\"[ab].txt ${f}x${f}x >&- \"a b\"README $gb.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a b[ab].txt","my","file.txtxmy","file.txtx","a bREADME",".txt"],"fds":[[0,"inherited 0","r",false,0],[3,"file my file.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cat","a b[ab].txt","my","file.txtxmy","file.txtx","a bREADME",".txt"],"fds":[[0,"inherited 0","r",false,0],[3,"file my file.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch <*.xyz $g $f >> $f | >\"$e\" mv []a]* $f\"$q\" <a.txt 'my file.txt' >&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open","open"],"stderr":["cannot create : Directory nonexistent","cannot open *.xyz: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","open"],"stderr":["*.xyz: ambiguous redirect",": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open","open"],"stderr":["*.xyz: No such file or directory",": No such file or directory"]}}},
{"line":"ls >> $s <&- \"$q\" | grep \"\" \"$q\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[ab].txt"],"fds":[[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","","[ab].txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","","[ab].txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls","[ab].txt"],"fds":[[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","","[ab].txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 sort 2>&3 3<$t","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>&1 0<c.log head 2>&3 o '*'.txt $qREADME","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<\"my file.txt\" >&2 1>&3","kind":"sweep","shells":{"dash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>> '' 1>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"1>&3 rm $s [ab 0<&3 | wc '*'.txt 1>&2 ${g} '*'.txt $x","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","*.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","*.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["wc","*.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","*.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["wc","*.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","*.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>&1 2>&1 sort","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"$q\" ?.txt \"my file.txt\" 0<&3 >&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"sort ''","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc 1>&3 <R* \"$s\"$t a.txt [[]a]* a] | ls ${f}x 'my file.txt' \"$s\" 3<&0 $s 2>$n 0<&3 | touch [!.]* $qc.log \"a b\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","my","file.txtx","my file.txt","  a.txt   b.txt  ","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file nomatch*","w",false,2],[3,"pipe 1","r",false,0]]},{"argv":["touch","README","a.txt","b.txt","c.log","my file.txt","nomatch*","x.xyz","y.xyz",".log","a b"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":0,"procs":[{"argv":["ls","my","file.txtx","my file.txt","  a.txt   b.txt  ","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file nomatch*","w",false,2],[3,"pipe 1","r",false,0]]},{"argv":["touch","README","a.txt","b.txt","c.log","my file.txt","nomatch*","x.xyz","y.xyz",".log","a b"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["ls","my","file.txtx","my file.txt","  a.txt   b.txt  ","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file nomatch*","w",false,2],[3,"pipe 1","r",false,0]]},{"argv":["touch","README","a.txt","b.txt","c.log","my file.txt","nomatch*","x.xyz","y.xyz",".log","a b"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"grep ?????? <&- $gnofile []a]* \"$s\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","README","a.txt","  a.txt   b.txt  "],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","README","a.txt","  a.txt   b.txt  "],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","README","a.txt","  a.txt   b.txt  "],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 2>&- $w [ab 3<&0","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<[ab].txt 2>&3 touch \"$p\" $d x.xyzo","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["[ab].txt: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"ls >&- <$q 2> $f","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"grep []a]* nofile [ README","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","nofile","[","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","nofile","[","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","nofile","[","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<&0 sort *.t*t $g*.txt x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","*.txt*.txt","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","*.txt*.txt","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","*.txt*.txt","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep ${f}x?????? | rm","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","my","file.txtx??????"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","my","file.txtx??????"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","my","file.txtx??????"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm 1>&3 README\"$f\" \"\"* 4>&2 3> $s","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"1>&3 grep \"$s\"\"$q\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"rm \"my file.txt\" $e b.txt*.t*t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","my file.txt","b.txt*.t*t"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","my file.txt","b.txt*.t*t"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","my file.txt","b.txt*.t*t"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat >$t >&- .h* <&- *b.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat",".hidden.txt","b.txt"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat",".hidden.txt","b.txt"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat",".hidden.txt","b.txt"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<&0 touch 0<&3 ?.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>>$x >&2 sort","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 cat c.log \"a b\" | >> a.txt 3<a.txt cp 2>&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","c.log","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"file a.txt","w",true,1],[3,"file a.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","c.log","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"file a.txt","w",true,1],[3,"file a.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","c.log","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"file a.txt","w",true,1],[3,"file a.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls [^a]* ${f}x $g ''","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","my","file.txtx","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","my","file.txtx","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","my","file.txtx","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>>$s <a.txt cat [abREADME ?.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","[abREADME","a.txt","b.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cat","[abREADME","a.txt","b.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm <&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 1>&3 3>&1 \"my file.txt\" ${g}","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cp 'my file.txt' 2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head \"$g\" $x 2>\"$g\" *.txt | 2>> *.xyz 2>&1 mv 0<*.xyz $q ''o","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","*.txt *.txt","x.xyz","y.xyz","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file *.txt *.txt","w",false,2]]},{"argv":["mv","a.txt","b.txt","o"],"fds":[[0,"file *.xyz","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["*.txt *.txt",0],["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["head","*.txt *.txt","x.xyz","y.xyz","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file *.txt *.txt","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head","*.txt *.txt","x.xyz","y.xyz","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file *.txt *.txt","w",false,2]]},{"argv":["mv","a.txt","b.txt","o"],"fds":[[0,"file *.xyz","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["*.txt *.txt",0],["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv <&- .*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv",".","..",".hidden.txt",".profile"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv",".hidden.txt",".profile"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv",".hidden.txt",".profile"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm R*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<*.xyz sort nofile 0<&3 3>a.txt \"$s\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open *.xyz: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["*.xyz: No such file or directory"]}}},
{"line":"cp 3<$t \"$f\" my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","my file.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","my file.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","my file.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat $n 3<&0 *eb.txt | 1>&3 mv \"$p\" \"a b\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["cat","nomatch*","*eb.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["cat","nomatch*","*eb.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["cat","nomatch*","*eb.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cp nomatch* 2>\"my file.txt\" 'my file.txt'$d [a-c]* | mv 3> '' 3>> \"$f\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["cp","nomatch*","my file.txt.*","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file my file.txt","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[{"argv":["cp","nomatch*","my file.txt.*","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file my file.txt","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[{"argv":["cp","nomatch*","my file.txt.*","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"file my file.txt","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"touch 3<$t 1>\"$f\" | 3<R* rm 3<a.txt > \"$f\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"2>> p ls nofile 2>&3 \"$e\"README \\*.txt??????","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["p",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["p",46]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["p",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv \"$q\"[!a]* 1>&2 my\\ file.txt *.t*t | cp >&- nofile 0<&3 *.txt 1>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["mv","[ab].txt[!a]*","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["mv","[ab].txt[!a]*","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["mv","[ab].txt[!a]*","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"<$t wc $f b.txt | 0<&3 head \"$s\" README a]","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["wc","my","file.txt","b.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["wc","my","file.txt","b.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["wc","my","file.txt","b.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat $t[a-c]* *e","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a.txt[a-c]*","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a.txt[a-c]*","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","a.txt[a-c]*","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort x.xyz >p","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc 0<&3 \"$p\"README >>\"$e\" 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":">&- <nofile mv a.txt [a-c]*a.txt 3<&0","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"wc \"$g\" | head ${g} [^a]* .*$e","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt",".","..",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","README","b.txt","c.log","my file.txt","x.xyz","y.xyz",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","README","b.txt","c.log","my file.txt","x.xyz","y.xyz",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&1 ls >>R* 1>&2 ${g}nomatch*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","*.txtnomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","*.txtnomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a.txt","b.txt","my file.txt","*.txtnomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head 0<&3 1> a.txt >> ''","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"sort","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls my\\ file.txtREADME | touch $d.* 1>&3 \"\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["ls","my file.txtREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["ls","my file.txtREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["ls","my file.txtREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"wc 2>&1 | ls 1>&3 2>&3 x.xyz","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat -l c.log '' | rm .h* $f ${f}x b.txt*' '*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","-l","c.log",""],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm",".hidden.txt","my","file.txt","my","file.txtx","b.txt* *"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","-l","c.log",""],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm",".hidden.txt","my","file.txt","my","file.txtx","b.txt* *"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","-l","c.log",""],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm",".hidden.txt","my","file.txt","my","file.txtx","b.txt* *"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&- grep 0<&3 \"$s\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head $sa] 2>&3 1>&2 c.logx.xyz .* | <&- wc 'my file.txt' 3<&0 $e 1>>c.log ${f}x | 1>&3 sort","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["0: Bad file descriptor","3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd","badfd"],"stderr":["0: Bad file descriptor","3: Bad file descriptor","3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd","badfd"],"stderr":["0: Bad file descriptor","3: Bad file descriptor","3: Bad file descriptor"]}}},
{"line":"2>>R* ls onofile 2>&3 $w <&- \"$s\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["R*",41]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["README",53]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[["R*",46]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>&2 rm -lREADME 3>&1 'my file.txt' *e | cp x.xyz.h* '' \"$g\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","-lREADME","my file.txt","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 2","w",false,1]]},{"argv":["cp","x.xyz.h*","","*.txt *.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","-lREADME","my file.txt","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 2","w",false,1]]},{"argv":["cp","x.xyz.h*","","*.txt *.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","-lREADME","my file.txt","*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 2","w",false,1]]},{"argv":["cp","x.xyz.h*","","*.txt *.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep $g >> $w <&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[1,"file    ","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[1,"file    ","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp *.txt [!.]* \"$e\" nomatch*$q","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","","nomatch*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","","nomatch*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","","nomatch*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- wc | wc 1>&2 2>> a*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"file a*","w",true,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"file a.txt","w",true,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"file a*","w",true,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head -l \"my file.txt\"*.xyz $n * | 3<&0 1>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","-l","my file.txt*.xyz","nomatch*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","-l","my file.txt*.xyz","nomatch*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","-l","my file.txt*.xyz","nomatch*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv '*'.txt 2>> o '' 'my file.txt'","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","*.txt","","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file o","w",true,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","*.txt","","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file o","w",true,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","*.txt","","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file o","w",true,2]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep $p 1>>$e 3<&0 \"$g\" o\"$p\" [a-c]* | head 2> p | head b.txt\"$f\" o 2>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file p","w",false,2]]},{"argv":["head","b.txtmy file.txt","o"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["p",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file p","w",false,2]]},{"argv":["head","b.txtmy file.txt","o"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["p",0]],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"file p","w",false,2]]},{"argv":["head","b.txtmy file.txt","o"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[["p",0]],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"2>&- cat 1>&3 <&- | ls | rm $q 3>>''","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"touch 3>&1 >$e >&- | cp .?* ?????? .h* b.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","..",".hidden.txt",".profile","README",".hidden.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":0,"procs":[{"argv":["cp",".hidden.txt",".profile","README",".hidden.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp",".hidden.txt",".profile","README",".hidden.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"grep a.txt 2>&1 nofile [ab].txt *.t*tREADME","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","nofile","a.txt","b.txt","*.t*tREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","nofile","a.txt","b.txt","*.t*tREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","nofile","a.txt","b.txt","*.t*tREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp 1>>$w $n >&2 | head <$t $c \"$e\" a.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["head","ls","","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","ls","","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["head","ls","","a.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head b.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>> \"$e\" 0<$f wc 1>> $w \"my file.txt\"${g} | cat [ab nomatch* \"my file.txt\"$c","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","[ab","nomatch*","my file.txtls"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":0,"procs":[{"argv":["cat","[ab","nomatch*","my file.txtls"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":0,"procs":[{"argv":["cat","[ab","nomatch*","my file.txtls"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"sort [^a]* R*$n 2>&- 0<$t \"$p\" | 1>&3 1>>$t 1>\"my file.txt\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["sort","a.txt","R*nomatch*","*"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["sort","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","R*nomatch*","*"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["sort","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","R*nomatch*","*"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cp 2> $n $wx${e}y [c-a]*nofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","y","[c-a]*nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file nomatch*","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","y","[c-a]*nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file nomatch*","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","y","[c-a]*nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file nomatch*","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort README <c.log c.log $n a.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","README","c.log","nomatch*","a.txt"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","README","c.log","nomatch*","a.txt"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","README","c.log","nomatch*","a.txt"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc *.txt 3> $t ${f}x | cat $p","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","my file.txt","my","file.txtx"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","w",false,3]]},{"argv":["cat","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","my file.txt","my","file.txtx"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","w",false,3]]},{"argv":["cat","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","my file.txt","my","file.txtx"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","w",false,3]]},{"argv":["cat","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 grep '*'.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"grep \"*\".txt '*'.txt .?* ''","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","*.txt","*.txt","..",".hidden.txt",".profile",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","*.txt","*.txt",".hidden.txt",".profile",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","*.txt","*.txt",".hidden.txt",".profile",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 ls \"$f\" ${g} 'my file.txt' [ab].txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"sort 0<*.xyz [c-a]* $t $n[!.]* 1>&3 1>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open *.xyz: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["*.xyz: No such file or directory"]}}},
{"line":"cp -l \"$e\" [c-a]*nofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","-l","","[c-a]*nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","-l","","[c-a]*nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","-l","","[c-a]*nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat *e 2>&3 [c-a]* $nx.xyz | touch $t '*'.txt'*'.txt my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt","*.txt*.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","a.txt","*.txt*.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["touch","a.txt","*.txt*.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cat \"a b\" my\\ file.txt[c-a]* \"a b\" \"$e\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a b","my file.txt[c-a]*","a b",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a b","my file.txt[c-a]*","a b",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","a b","my file.txt[c-a]*","a b",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm nofile[ ?????? nofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","nofile[","README","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","nofile[","README","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","nofile[","README","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat \"a b\"${g} 1>&2 c.log o\"*\".txt > \"$f\" >&- c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a b*.txt","a.txt","b.txt","my file.txt","c.log","o*.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a b*.txt","a.txt","b.txt","my file.txt","c.log","o*.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","a b*.txt","a.txt","b.txt","my file.txt","c.log","o*.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>&3 2>> $t ls b.txt x.xyz 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"grep $w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp $p \"a b\"[!a]* \\*.txt \"$g\"nofile >&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a b[!a]*","*.txt","*.txt *.txtnofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a b[!a]*","*.txt","*.txt *.txtnofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a b[!a]*","*.txt","*.txt *.txtnofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&2 2>&1 mv R* | 1>> $s 3<\"my file.txt\" touch | <*.xyz wc my\\ file.txt$c .h* a]$n 1>> \"$g\" $g","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["mv","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["touch"],"fds":[[0,"pipe 1","r",false,0],[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":["open"],"stderr":["cannot open *.xyz: No such file"]},"bash":{"status":1,"procs":[{"argv":["mv","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous","ambiguous"],"stderr":["$s: ambiguous redirect","*.xyz: ambiguous redirect"]},"posix":{"status":1,"procs":[{"argv":["mv","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["touch"],"fds":[[0,"pipe 1","r",false,0],[1,"file   a.txt   b.txt  ","w",true,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":["open"],"stderr":["*.xyz: No such file or directory"]}}},
{"line":"cat $co [ab].txt $c","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","a.txt","b.txt","ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head | 1>$w mv 0<\"my file.txt\" $g \"$q\" a] README","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","[ab].txt","a]","README"],"fds":[[0,"file my file.txt","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","[ab].txt","a]","README"],"fds":[[0,"file my file.txt","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm \\*.txt x.xyz $n$d 2>&3 2>> \"$g\" 'my file.txt' 1>&2","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"head $p?.txt * 2>&- | 1>> $n 1> a.txt 2>&3 wc o[a-c]*","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1]]}],"changed":[["a.txt",0],["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1]]}],"changed":[["a.txt",0],["nomatch*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["head","a.txt","b.txt","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1]]}],"changed":[["a.txt",0],["nomatch*",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>&- 2>&3 grep","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<&0 rm $wnomatch* 3>R* 2>c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file c.log","w",false,2],[3,"file R*","w",false,3]]}],"changed":[["R*",0],["c.log",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file c.log","w",false,2],[3,"file README","w",false,3]]}],"changed":[["README",0],["c.log",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file c.log","w",false,2],[3,"file R*","w",false,3]]}],"changed":[["R*",0],["c.log",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head .h*\"$s\" $t[ab].txt <&- <&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head",".h*  a.txt   b.txt  ","a.txt[ab].txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head",".h*  a.txt   b.txt  ","a.txt[ab].txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head",".h*  a.txt   b.txt  ","a.txt[ab].txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc [^a]* $d .h* | touch 3<\"my file.txt\" a]o README >&- \"$p\" \"$s\"\"$f\" | rm","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a.txt",".","..",".hidden.txt",".profile",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","a]o","README","*","  a.txt   b.txt  my file.txt"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]},{"argv":["rm"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","README","b.txt","c.log","my file.txt","x.xyz","y.xyz",".hidden.txt",".profile",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","a]o","README","*","  a.txt   b.txt  my file.txt"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]},{"argv":["rm"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","README","b.txt","c.log","my file.txt","x.xyz","y.xyz",".hidden.txt",".profile",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","a]o","README","*","  a.txt   b.txt  my file.txt"],"fds":[[0,"pipe 1","r",false,0],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]},{"argv":["rm"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep ${g}$x","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","*.txt*.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","*.txt*.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","*.txt*.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- wc","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>>a* cp \"my file.txt\"o [^a]*$s 1> $w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","my file.txto","a.txt","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2],[3,"file a*","w",true,3]]}],"changed":[["   ",0],["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","my file.txto","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file    ","w",false,1],[2,"inherited 2","w",false,2],[3,"file a*","w",true,3]]}],"changed":[["   ",0],["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>>\"$e\" mv *' '* .* 3<$t >&- \"a b\"[!.]*","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"> a* touch","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<R* mv >&- $w >&- *.txt.?*","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["mv","*.txt.?*"],"fds":[[0,"file README","r",false,0],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"cp $g","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"4>&2 >>$w mv 2>&3 | head c.log .*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","c.log",".","..",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","c.log",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head","c.log",".hidden.txt",".profile"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3>/dev/null cat *' '*.h* <&- \"$e\"$t x.xyz >&2 | 2>R* rm x${e}y [ >>p \"a b\" 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["cat","* *.h*","a.txt","x.xyz"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"/dev/null","w",false,3]]}],"changed":[["R*",41],["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["cat","* *.h*","a.txt","x.xyz"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"/dev/null","w",false,3]]}],"changed":[["README",46],["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[{"argv":["cat","* *.h*","a.txt","x.xyz"],"fds":[[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"/dev/null","w",false,3]]}],"changed":[["R*",46],["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv 3<$t >&2 x${e}y o ${g} >\"$g\" ${g}","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","xy","o","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","xy","o","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","xy","o","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&- 1>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>$w 3>> $f","kind":"sweep","shells":{"dash":{"status":0,"procs":[],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 1>&2 wc <&- nofile *.xyz x${e}y","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"4>&2 3<&0 rm <$t .h* *e *.t*tx.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm",".hidden.txt","*e","*.t*tx.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm",".hidden.txt","*e","*.t*tx.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm",".hidden.txt","*e","*.t*tx.xyz"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc *.t*t \"$g\"${f}x x${e}y | wc -l *.t*t 'my file.txt' \"my file.txt\"$w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","my file.txt","*.txt *.txtmy","file.txtx","xy"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","-l","a.txt","b.txt","my file.txt","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","my file.txt","*.txt *.txtmy","file.txtx","xy"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","-l","a.txt","b.txt","my file.txt","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","a.txt","b.txt","my file.txt","*.txt *.txtmy","file.txtx","xy"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","-l","a.txt","b.txt","my file.txt","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head $xnofile o *eREADME","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","o","*eREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","o","*eREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","o","*eREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head 3>> $n $wx.xyz \"a b\" $t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head",".xyz","a b","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file nomatch*","w",true,3]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head",".xyz","a b","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file nomatch*","w",true,3]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head",".xyz","a b","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file nomatch*","w",true,3]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv \"$e\" '*'.txt 1>> $p nofile nofile 3<&0","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","","*.txt","nofile","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["mv","","*.txt","nofile","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"file *","w",true,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep a.txt a] [!.]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","a]","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","a]","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","a]","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch nofilenomatch* \"$g\" <&- 3> /dev/null","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","nofilenomatch*","*.txt *.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"/dev/null","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","nofilenomatch*","*.txt *.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"/dev/null","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","nofilenomatch*","*.txt *.txt"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"/dev/null","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>>p 2>&- cp | ls 3<\"my file.txt\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",true,1]]},{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",true,1]]},{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",true,1]]},{"argv":["ls"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc \"*\".txt [ab].txt$s my\\ file.txta.txt \"my file.txt\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","*.txt","a.txt","b.txt","a.txt","b.txt","my file.txta.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","*.txt","a.txt","b.txt","a.txt","b.txt","my file.txta.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","*.txt","a.txt","b.txt","a.txt","b.txt","my file.txta.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"a b\" 2>&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv 3>&1 [ab ${g} a]*.t*t R*[ab].txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","[ab","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a]*.t*t","R*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","[ab","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a]*.t*t","R*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","[ab","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a]*.t*t","R*[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 1>&2 1>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch *' '**.xyz \"$s\" \"$p\" ''b.txt 3>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","* **.xyz","  a.txt   b.txt  ","*","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","* **.xyz","  a.txt   b.txt  ","*","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","* **.xyz","  a.txt   b.txt  ","*","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>&3 0<$f touch []a]*$c a.txt\"$e\" \"$g\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3<nofile wc 3>> $t -l 2>&1","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"touch \"*\".txt >&2 \"$g\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","*.txt","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","*.txt","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","*.txt","*.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>&2 sort 2>&- READMEc.log | cp 3<c.log 3>$e nofile$e [a-c]*","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["sort","READMEc.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[{"argv":["sort","READMEc.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[{"argv":["sort","READMEc.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"wc a.txt [ab'*'.txt <&- <a.txt [!a]* 3<nofile","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"touch 1>&3 $e >&- README?.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"mv [c-a]* x${e}y [a-c]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","[c-a]*","xy","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","[c-a]*","xy","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","[c-a]*","xy","a.txt","b.txt","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&2 2>&3 1>> R* head \\*.txt *' '*","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"rm \"$e\"\\*.txt 0<c.log $s \"\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","*.txt","a.txt","b.txt",""],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","*.txt","a.txt","b.txt",""],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","*.txt","a.txt","b.txt",""],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort -l* *.t*t .?* -l","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","-l*","a.txt","b.txt","my file.txt","..",".hidden.txt",".profile","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","-l*","a.txt","b.txt","my file.txt",".hidden.txt",".profile","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","-l*","a.txt","b.txt","my file.txt",".hidden.txt",".profile","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&2 <&- 1>&3 cp \\*.txt ''","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"4>&2 ls 4>&2 [c-a]* ${g} [ab[a-c]* '*'.txtREADME 2>&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[c-a]*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","c.log","*.txtREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[c-a]*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","c.log","*.txtREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[c-a]*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","c.log","*.txtREADME"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[4,"inherited 2","w",false,4]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep $x$t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","*.xyza.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","*.xyza.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","*.xyza.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp $sc.log nofile README | 1>&2 touch \"$e\" x${e}y $x [ab].txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp",".log","nofile","README"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","","xy","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp",".log","nofile","README"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","","xy","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp",".log","nofile","README"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","","xy","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 sort","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"rm -l\"$s\" \"$e\"$g \"$q\"*.txt 4>&2 <c.log <&- x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","-l  a.txt   b.txt  ","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","[ab].txt*.txt","x.xyz"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","-l  a.txt   b.txt  ","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","[ab].txt*.txt","x.xyz"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","-l  a.txt   b.txt  ","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","[ab].txt*.txt","x.xyz"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc 2>&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 head *.xyz \"a b\" c.log\"$p\" 1>&2 [!.]*","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch c.log ${g}","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","c.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","c.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","c.log","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 1> c.log x.xyz [^a]*\"$s\" \\*.txt 'my file.txt'[ab","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","x.xyz","[^a]*  a.txt   b.txt  ","*.txt","my file.txt[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","x.xyz","[^a]*  a.txt   b.txt  ","*.txt","my file.txt[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","x.xyz","[^a]*  a.txt   b.txt  ","*.txt","my file.txt[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 1>&2 2>&1 | 3<&0 3<&0 sort .*$q .* * \"a b\"x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["sort",".*[ab].txt",".","..",".hidden.txt",".profile","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a bx.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["sort",".*[ab].txt",".hidden.txt",".profile","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a bx.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["sort",".*[ab].txt",".hidden.txt",".profile","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","a bx.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort $t\"$s\" \"my file.txt\" -l -l","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","a.txt  a.txt   b.txt  ","my file.txt","-l","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","a.txt  a.txt   b.txt  ","my file.txt","-l","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","a.txt  a.txt   b.txt  ","my file.txt","-l","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv \"$e\"[ab].txt >&2 .h* | >> $f touch $n 2>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","a.txt","b.txt",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["touch","nomatch*"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"file my file.txt","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["mv","a.txt","b.txt",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["mv","a.txt","b.txt",".hidden.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["touch","nomatch*"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"file my file.txt","w",true,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat <&- >> $p $w >&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$p: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[["*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head 0<&3 3>&1 *","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"mv 1>> $w 0<&3 \"$f\" my\\ file.txt 3>p my\\ file.txt $q[]a]* | 3<$f touch R* \"$g\" | sort $w [ \"a b\"R* o 2>\"$e\" >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["touch","README","*.txt *.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["   ",0]],"missing":[],"errors":["badfd","open"],"stderr":["3: Bad file descriptor","cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous","ambiguous","open"],"stderr":["$f: ambiguous redirect","$w: ambiguous redirect",": No such file or directory"]},"posix":{"status":1,"procs":[{"argv":["touch","README","*.txt *.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2],[3,"file my file.txt","r",false,3]]}],"changed":[["   ",0]],"missing":[],"errors":["badfd","open"],"stderr":["3: Bad file descriptor",": No such file or directory"]}}},
{"line":"4>&2 mv 3>&1 ${f}x?.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","my","file.txtx?.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","my","file.txtx?.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","my","file.txtx?.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 1>*.xyz 0<$q | mv \"$p\"[ab 1>&2 4>&2 [^a]* 1>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","*[ab","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[["*.xyz",0]],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":0,"procs":[{"argv":["mv","*[ab","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["mv","*[ab","*.xyz","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[["*.xyz",0]],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"rm $w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls -l \"$s\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","-l","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","-l","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","-l","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>a.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","c.log"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&- cp 4>&2 R* *.txt$t []a]*b.txt $e","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">&- 1>&3 ls >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"wc ?.txtREADME 2>&1 0<&3 3<&0","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep \"$s\"a.txt ?.txt my\\ file.txt \"$s\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","  a.txt   b.txt  a.txt","a.txt","b.txt","my file.txt","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","  a.txt   b.txt  a.txt","a.txt","b.txt","my file.txt","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","  a.txt   b.txt  a.txt","a.txt","b.txt","my file.txt","  a.txt   b.txt  "],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<&0 mv \"a b\"[ab].txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","a b[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","a b[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","a b[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls c.log []a]* [a-c]* 3>&1 -l$e <&- | touch *.txt \"$f\" o | sort $f[]a]* nomatch*$n .*c.log 4>&2 0<&3 nofile","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["ls","c.log","a.txt","a.txt","b.txt","c.log","-l"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["touch","a.txt","b.txt","my file.txt","my file.txt","o"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["ls","c.log","a.txt","a.txt","b.txt","c.log","-l"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["touch","a.txt","b.txt","my file.txt","my file.txt","o"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["ls","c.log","a.txt","a.txt","b.txt","c.log","-l"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["touch","a.txt","b.txt","my file.txt","my file.txt","o"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"grep c.log R*[]a]* [ab [c-a]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","c.log","R*[]a]*","[ab","[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","c.log","R*[]a]*","[ab","[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","c.log","R*[]a]*","[ab","[c-a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp 2>&- R* >&- ''${g} .* 1>> $g","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",true,1]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",true,1]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>>$g 4>&2 head | head $s.?* 2>a.txt 2>&1 1> a* .*README","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.txt *.txt","w",true,3],[4,"inherited 2","w",false,2]]},{"argv":["head","a.txt","b.txt","..",".hidden.txt",".profile",".*README"],"fds":[[0,"pipe 1","r",false,0],[1,"file a*","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["*.txt *.txt",0],["a*",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt",".hidden.txt",".profile",".*README"],"fds":[[0,"pipe 1","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["a.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["$g: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.txt *.txt","w",true,3],[4,"inherited 2","w",false,2]]},{"argv":["head","a.txt","b.txt",".hidden.txt",".profile",".*README"],"fds":[[0,"pipe 1","r",false,0],[1,"file a*","w",false,1],[2,"inherited 1","w",false,2]]}],"changed":[["*.txt *.txt",0],["a*",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep 2>\"$g\" 1>&3 | mv >&2 1>&3 1>>$s \"$g\"*.xyz","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[["*.txt *.txt",41]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[["*.txt *.txt",46]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[["*.txt *.txt",46]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"ls 3>$w 3>> a.txt ?.txto 4>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","?.txto"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","w",true,3],[4,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls","?.txto"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","w",true,3],[4,"inherited 2","w",false,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc | >&2 cp $d$f ${g} 2>&1 my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp",".*my","file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp",".*my","file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cp",".*my","file.txt","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls >> '' >> R* -l\"$f\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"wc *.t*t 0<&3 o\"$e\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3>&1 head 1> *.xyz '' >> \"$f\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head",""],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["head",""],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head | 2>&3 >&- mv $c.h*","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["head"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3>> $f 3<&0 2>&3 cp ?.txt \"$q\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc [ab].txt*.txt my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","[ab].txt*.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","[ab].txt*.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","[ab].txt*.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 rm $p >$t | wc 3>> *.xyz x${e}y \"a b\" \"$f\"\"$e\" 1>&2 0<&3","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,3]]},{"argv":["wc","xy","a b","my file.txt"],"fds":[[0,"file *.xyz","w",true,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file *.xyz","w",true,0]]}],"changed":[["*.xyz",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["rm","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,3]]}],"changed":[["a.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["rm","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,3]]},{"argv":["wc","xy","a b","my file.txt"],"fds":[[0,"file *.xyz","w",true,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"file *.xyz","w",true,0]]}],"changed":[["*.xyz",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 0<&3 wc -l","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","-l"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","-l"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","-l"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>>a* head -l 3>&1","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a*","w",true,2],[3,"inherited 1","w",false,1]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a.txt","w",true,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","-l"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file a*","w",true,2],[3,"inherited 1","w",false,1]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head 3>&1 a]?????? $g 0<[ab].txt c.log \"my file.txt\" 3>&1","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["[ab].txt: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"cp o \"\" 2>&3 0<&3 3>R*","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"3>&1 grep 1>> \"$f\" [!a]*nofile 0<$f \"\" .* [c-a]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","[!a]*nofile","",".","..",".hidden.txt",".profile","[c-a]*"],"fds":[[0,"file my file.txt","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep","[!a]*nofile","",".hidden.txt",".profile","[c-a]*"],"fds":[[0,"file my file.txt","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm -l 1>> *.xyz .?* \"*\".txtR* R*'*'.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","-l","..",".hidden.txt",".profile","*.txtR*","R**.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["rm","-l",".hidden.txt",".profile","*.txtR*","R**.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.xyz","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 2>> $x ls my\\ file.txt 0<[ab].txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch \"$g\"a.txt a] | 3>&1 mv 0<a.txt $no .*${f}x $c 4>&2 '*'.txt | >>$n 0<*.xyz 3>>*.xyz","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["touch","*.txt *.txta.txt","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv",".*my","file.txtx","ls","*.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 2","w",false,1],[4,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["open"],"stderr":["cannot open *.xyz: No such file"]},"bash":{"status":0,"procs":[{"argv":["touch","*.txt *.txta.txt","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv",".*my","file.txtx","ls","*.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 2","w",false,1],[4,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["touch","*.txt *.txta.txt","a]"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv",".*my","file.txtx","ls","*.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 2","w",false,1],[4,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":["open"],"stderr":["*.xyz: No such file or directory"]}}},
{"line":"sort x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","x.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<\"my file.txt\" cp b.txt b.txt c.log$e","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","b.txt","b.txt","c.log"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","b.txt","b.txt","c.log"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","b.txt","b.txt","c.log"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- ls b.txt $f >&- [ab].txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","b.txt","my","file.txt","a.txt","b.txt"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","b.txt","my","file.txt","a.txt","b.txt"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","b.txt","my","file.txt","a.txt","b.txt"],"fds":[[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc | 2>> $w head 3> \"$f\" * $w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"file    ","w",true,2],[3,"file my file.txt","w",false,3]]}],"changed":[["   ",0],["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"file    ","w",true,2],[3,"file my file.txt","w",false,3]]}],"changed":[["   ",0],["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 2>a.txt [ab <$f ?.txt c.log x.xyz | rm >>*.xyz <&- 2>>$q my\\ file.txt | rm \"\" $e 3<[ab].txt \"\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[ab","a.txt","b.txt","c.log","x.xyz"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"file a.txt","w",false,2]]},{"argv":["rm","my file.txt"],"fds":[[1,"file *.xyz","w",true,1],[2,"file [ab].txt","w",true,2]]},{"argv":["rm","",""],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file [ab].txt","r",false,3]]}],"changed":[["*.xyz",0],["[ab].txt",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[["a.txt",46]],"missing":[],"errors":["ambiguous","ambiguous"],"stderr":["*.xyz: ambiguous redirect","[ab].txt: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["ls","[ab","a.txt","b.txt","c.log","x.xyz"],"fds":[[0,"file my file.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"file a.txt","w",false,2]]},{"argv":["rm","my file.txt"],"fds":[[1,"file *.xyz","w",true,1],[2,"file [ab].txt","w",true,2]]},{"argv":["rm","",""],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file [ab].txt","r",false,3]]}],"changed":[["*.xyz",0],["[ab].txt",0],["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls 3>&1 '' b.txt >&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls | 4>&2 3<a.txt sort","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["sort"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp '*'.txt*' '* o \"my file.txt\".* 0<R* 2>&- <c.log \"$f\" | >&2 mv 3<&0 -l 2>&3 | rm >&2 $w 'my file.txt' \\*.txt 4>&2 \"my file.txt\" 1>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv","-l"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"pipe 1","r",false,0],[3,"pipe 1","r",false,0]]},{"argv":["rm","my file.txt","*.txt","my file.txt"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":0,"procs":[{"argv":["cp","*.txt* *","o","my file.txt.*","my file.txt"],"fds":[[0,"file c.log","r",false,0],[1,"pipe 1","w",false,1]]},{"argv":["mv","-l"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"pipe 1","r",false,0],[3,"pipe 1","r",false,0]]},{"argv":["rm","my file.txt","*.txt","my file.txt"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv","-l"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"pipe 1","r",false,0],[3,"pipe 1","r",false,0]]},{"argv":["rm","my file.txt","*.txt","my file.txt"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"wc 1>c.log *' '* | 0<&3 sort *.xyznofile 1>c.log \"$q\" ${f}x","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["wc","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["wc","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["wc","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>&- 2>&1 cp 2> $e \"my file.txt\" | grep 'my file.txt' [a-c]* \"$s\" | ls 'my file.txt' [!.]* 3>&1 x.xyz","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","my file.txt","a.txt","b.txt","c.log","  a.txt   b.txt  "],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","x.xyz"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","my file.txt","a.txt","b.txt","c.log","  a.txt   b.txt  "],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","x.xyz"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","my file.txt","a.txt","b.txt","c.log","  a.txt   b.txt  "],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","my file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","x.xyz"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm 'my file.txt' x.xyz[ my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","my file.txt","x.xyz[","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","my file.txt","x.xyz[","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","my file.txt","x.xyz[","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 mv a]$e","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>&1 cp $p >>\"$f\" | cp [!.]* <&- $w x${e}y${g} a]","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"pipe 1","w",false,2]]},{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","xy*.txt","a.txt","b.txt","my file.txt","a]"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"pipe 1","w",false,2]]},{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","xy*.txt","a.txt","b.txt","my file.txt","a]"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"file my file.txt","w",true,1],[2,"pipe 1","w",false,2]]},{"argv":["cp","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","xy*.txt","a.txt","b.txt","my file.txt","a]"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm ${f}xx${e}y <&- nofile[!a]* 3>&1 | sort \"$g\" ?.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","my","file.txtxxy","nofile[!a]*"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["sort","*.txt *.txt","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","my","file.txtxxy","nofile[!a]*"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["sort","*.txt *.txt","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","my","file.txtxxy","nofile[!a]*"],"fds":[[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","w",false,1]]},{"argv":["sort","*.txt *.txt","a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<R* cp ?.txt 3<&0 \"$g\" >>'' 'my file.txt'","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"cp 2>&1 3>>a*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"file a*","w",true,3]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"file a.txt","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"file a*","w",true,3]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<&- sort [ab","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","[ab"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","[ab"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","[ab"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep a.txt nofile >&2 $e | cat >>\"my file.txt\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["cat"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":">>R* grep \"$p\" 3<&0 3>$x $p c.log$g","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","c.log*.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file R*","w",true,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",false,3]]}],"changed":[["*.xyz",0],["R*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["grep","*","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","c.log*.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file R*","w",true,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",false,3]]}],"changed":[["*.xyz",0],["R*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3> \"$e\" 2>&- 3<c.log ls","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":"grep >&2 *e .?* 1> /dev/null c.log \"$p\"[a-c]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","*e","..",".hidden.txt",".profile","c.log","*[a-c]*"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","*e",".hidden.txt",".profile","c.log","*[a-c]*"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","*e",".hidden.txt",".profile","c.log","*[a-c]*"],"fds":[[0,"inherited 0","r",false,0],[1,"/dev/null","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"ls \"*\".txt 3<$q \"*\".txt $f 3<&0","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$q: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"cat [[]a]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","[[]a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","[[]a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","[[]a]*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp [!.]* 0<&3 [c-a]* >&2 <$q","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"cp 4>&2 [ab README","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","[ab","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","[ab","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","[ab","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort -l 0<$f $x[a-c]* ''","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","-l","*.xyz[a-c]*",""],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["sort","-l","*.xyz[a-c]*",""],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head <c.log \"$p\" [a-c]* 1>&2 $p | ls > $t 0<&3 README","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["head","*","a.txt","b.txt","c.log","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["head","*","a.txt","b.txt","c.log","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["head","*","a.txt","b.txt","c.log","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["a.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"rm \"$q\"$t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","[ab].txta.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","[ab].txta.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","[ab].txta.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm >&2 nofile","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort $f $p \"*\".txt$c","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","my","file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","*.txtls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","my","file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","*.txtls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","my","file.txt","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz","*.txtls"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp $xREADME ??????","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort >&- 2>&1 | rm .*$t b.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm",".*a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm",".*a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["1: Bad file descriptor"]},"posix":{"status":0,"procs":[{"argv":["rm",".*a.txt","b.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":["badfd"],"stderr":["1: Bad file descriptor"]}}},
{"line":"head 1> \"$g\" 2>&- 2>&- $d | 3>&1 mv *' '* a.txt \"$p\"\"$p\" 3>&1 0<&3 .*a.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head",".","..",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1]]},{"argv":["mv","*.txt *.txt","my file.txt","a.txt","**",".*a.txt"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,0]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1]]},{"argv":["mv","*.txt *.txt","my file.txt","a.txt","**",".*a.txt"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,0]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head",".hidden.txt",".profile"],"fds":[[0,"inherited 0","r",false,0],[1,"file *.txt *.txt","w",false,1]]},{"argv":["mv","my file.txt","a.txt","**",".*a.txt"],"fds":[[0,"inherited 1","w",false,0],[1,"inherited 1","w",false,0],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,0]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head $d ?.txt 3<R* >> '' <&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open R*: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["R*: No such file or directory"]}}},
{"line":"wc | rm >$n | head \"\" 4>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head",""],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head",""],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["rm"],"fds":[[0,"pipe 1","r",false,0],[1,"file nomatch*","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head",""],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm 2>&3 3<R* a] \"$q\"README a]README 4>&2 *.t*tx.xyz | 3>> '' touch o 2>&- my\\ file.txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","open"],"stderr":["3: Bad file descriptor",": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","open"],"stderr":["3: Bad file descriptor",": No such file or directory"]}}},
{"line":"sort $d 3>> \"$e\" [ \"my file.txt\" README","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":[": No such file or directory"]}}},
{"line":">>o wc 2>&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",true,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",true,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"inherited 0","r",false,0],[1,"file o","w",true,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>\"my file.txt\" cat 3<[ab].txt c.loga] <&- | cp","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["open"],"stderr":["cannot open [ab].txt: No such file"]},"bash":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["[ab].txt: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["open"],"stderr":["[ab].txt: No such file or directory"]}}},
{"line":"ls 2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"grep $q $c [!.]* | 3<&0 grep <&- []a]* 0<&3","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","ls","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["grep","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"pipe 1","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<&3 ls o 2>> \"$e\" a] \"$g\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"touch 0<\"my file.txt\" b.txt a.txt a.txt 0<&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>c.log rm >c.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"file c.log","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"file c.log","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm"],"fds":[[0,"inherited 0","r",false,0],[1,"file c.log","w",false,1],[2,"file c.log","w",false,2]]}],"changed":[["c.log",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch <c.log 3>&1 nofile 2>&3","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","nofile"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","nofile"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","nofile"],"fds":[[0,"file c.log","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm <a.txt $w \"\" 1> $s README $f | mv 1>&2 4>&2 $t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","","README","my","file.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$s: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["rm","","README","my","file.txt"],"fds":[[0,"file a.txt","r",false,0],[1,"file   a.txt   b.txt  ","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[["  a.txt   b.txt  ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat > $e c.log \"$p\" \\*.txt'*'.txt 3>>'' 3<&0 $dnofile","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"cp a]*.txt b.txt | 1>$w head $g [^a]**.xyz 2>>$e [!a]* <&- $q[!.]* | ls -lR* > \"my file.txt\" .h* c.logc.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a]*.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","-lR*",".hidden.txt","c.logc.log"],"fds":[[0,"pipe 2","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0],["my file.txt",0]],"missing":[],"errors":["open"],"stderr":["cannot create : Directory nonexistent"]},"bash":{"status":0,"procs":[{"argv":["cp","a]*.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","-lR*",".hidden.txt","c.logc.log"],"fds":[[0,"pipe 2","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cp","a]*.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["ls","-lR*",".hidden.txt","c.logc.log"],"fds":[[0,"pipe 2","r",false,0],[1,"file my file.txt","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["   ",0],["my file.txt",0]],"missing":[],"errors":["ambiguous"],"stderr":["$e: ambiguous redirect"]}}},
{"line":"3> \"my file.txt\" 1>&2 <&- | wc","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch a.txt$c 2>>$w x.xyz nofile$w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txtls","x.xyz","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file    ","w",true,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["touch","a.txtls","x.xyz","nofile"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"file    ","w",true,2]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm 0<&3 >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"2>&3 >>$p 0<\"my file.txt\"","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"sort ?.txtx.xyz a.txt 1>&2 | cat \"$s\"a.txt []a]* o \"$s\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","?.txtx.xyz","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["cat","  a.txt   b.txt  a.txt","a.txt","o","  a.txt   b.txt  "],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort","?.txtx.xyz","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["cat","  a.txt   b.txt  a.txt","a.txt","o","  a.txt   b.txt  "],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort","?.txtx.xyz","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]},{"argv":["cat","  a.txt   b.txt  a.txt","a.txt","o","  a.txt   b.txt  "],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"mv 'my file.txt' $ex.xyz [c-a]* *.txt <$t 3<c.log 3<nofile","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"2>&1 3>&1 2>&3","kind":"sweep","shells":{"dash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc [c-a]* $xa.txt [[ab","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","[c-a]*",".txt","[[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","[c-a]*",".txt","[[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","[c-a]*",".txt","[[ab"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head \"$p\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"<$f >> $w","kind":"sweep","shells":{"dash":{"status":0,"procs":[],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc <&- >> \"my file.txt\" \"my file.txt\" | cp [ ${g}$d","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","my file.txt"],"fds":[[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","[","a.txt","b.txt","my file.txt","*.txt.*"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","my file.txt"],"fds":[[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","[","a.txt","b.txt","my file.txt","*.txt.*"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","my file.txt"],"fds":[[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]},{"argv":["cp","[","a.txt","b.txt","my file.txt","*.txt.*"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>> $x sort $g","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",true,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$x: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["sort","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file *.xyz","w",true,3]]}],"changed":[["*.xyz",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"head *.t*t","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp b.txt [ab].txtx${e}y nofile$p $g","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","b.txt","[ab].txtxy","nofile*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","b.txt","[ab].txtxy","nofile*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","b.txt","[ab].txtxy","nofile*","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"sort | wc [!.]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["sort"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc","README","a.txt","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat \"my file.txt\"c.log \"\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","my file.txtc.log",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat","my file.txtc.log",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat","my file.txtc.log",""],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 >a.txt cp README","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,3]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp a.txt b.txt \"my file.txt\"$t | mv .* my\\ file.txt 2>/dev/null 1> '' 2>&3 ?.txt nomatch* | >&2 wc 4>&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txta.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txta.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txta.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["wc"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[4,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp *.t*t -l []a]* 1> p","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","-l","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","-l","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","-l","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"file p","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["p",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<*.xyz grep \\*.txt [c-a]* 'my file.txt'$d","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open *.xyz: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["*.xyz: ambiguous redirect"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["*.xyz: No such file or directory"]}}},
{"line":"0<nofile cat <&- $gREADME []a]*b.txt >&-","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["cannot open nofile: No such file"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["open"],"stderr":["nofile: No such file or directory"]}}},
{"line":"3> a* mv <$t | head a.txt []a]**e 3<c.log \"$s\"*e my\\ file.txt","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a*","w",false,3]]},{"argv":["head","a.txt","[]a]**e","  a.txt   b.txt  *e","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","r",false,3]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a.txt","w",false,3]]},{"argv":["head","a.txt","[]a]**e","  a.txt   b.txt  *e","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","r",false,3]]}],"changed":[["a.txt",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["mv"],"fds":[[0,"file a.txt","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file a*","w",false,3]]},{"argv":["head","a.txt","[]a]**e","  a.txt   b.txt  *e","my file.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","r",false,3]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3<&0 2>&3 head []a]* 'my file.txt'.h* \"$f\" README >&- | head \"a b\" \"$e\" \"a b\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["head","a.txt","my file.txt.h*","my file.txt","README"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]},{"argv":["head","a b","","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["head","a.txt","my file.txt.h*","my file.txt","README"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]},{"argv":["head","a b","","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["head","a.txt","my file.txt.h*","my file.txt","README"],"fds":[[0,"inherited 0","r",false,0],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]},{"argv":["head","a b","","a b"],"fds":[[0,"pipe 1","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat $f 2>&3","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":"wc R* [!a]* ?.txt 3>&1 >&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","README","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","README","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","README","README","b.txt","c.log","my file.txt","x.xyz","y.xyz","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1],[3,"inherited 1","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 3> $f 2>&- | rm ?.txt a.txt [a-c]* []a]* | head >&2 nomatch* >&2","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[3,"file my file.txt","w",false,3]]},{"argv":["rm","a.txt","b.txt","a.txt","a.txt","b.txt","c.log","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","nomatch*"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","a.txt","b.txt","a.txt","a.txt","b.txt","c.log","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","nomatch*"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$f: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[3,"file my file.txt","w",false,3]]},{"argv":["rm","a.txt","b.txt","a.txt","a.txt","b.txt","c.log","a.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["head","nomatch*"],"fds":[[0,"pipe 2","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat \"$p\" $w 'my file.txt' [c-a]*\"$g\" 3>> $w","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat","*","my file.txt","[c-a]**.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file    ","w",true,3]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["ambiguous"],"stderr":["$w: ambiguous redirect"]},"posix":{"status":0,"procs":[{"argv":["cat","*","my file.txt","[c-a]**.txt *.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file    ","w",true,3]]}],"changed":[["   ",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch a.txt.* nomatch* \"$f\" | mv | >> $n 2>&-","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt.*","nomatch*","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","a.txt.*","nomatch*","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","a.txt.*","nomatch*","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["mv"],"fds":[[0,"pipe 1","r",false,0],[1,"pipe 2","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[["nomatch*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"4>&2 grep .*[ab].txt nofile $s","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep",".*[ab].txt","nofile","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep",".*[ab].txt","nofile","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep",".*[ab].txt","nofile","a.txt","b.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"1>> a* touch a.txt c.log 3> /dev/null R*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt","c.log","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",true,1],[2,"inherited 2","w",false,2],[3,"/dev/null","w",false,3]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","a.txt","c.log","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file a.txt","w",true,1],[2,"inherited 2","w",false,2],[3,"/dev/null","w",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","a.txt","c.log","README"],"fds":[[0,"inherited 0","r",false,0],[1,"file a*","w",true,1],[2,"inherited 2","w",false,2],[3,"/dev/null","w",false,3]]}],"changed":[["a*",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"wc []a]* *' '*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","a.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","a.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cat 0<c.log | 3> o touch [ab].txt nofile 3>&1 0<\"my file.txt\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file c.log","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","a.txt","b.txt","nofile"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file c.log","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","a.txt","b.txt","nofile"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file c.log","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["touch","a.txt","b.txt","nofile"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[["o",0]],"missing":[],"errors":[],"stderr":[]}}},
{"line":"2>&3 cp *.txt${f}x <&- 1>$t x.xyz[!a]* '' | rm 1> \"$g\" 'my file.txt'nomatch* .h* $w 1>>\"my file.txt\" | 1>&3 >> *.xyz mv R* README $s 0<[ab].txt","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["rm","my file.txtnomatch*",".hidden.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["rm","my file.txtnomatch*",".hidden.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["rm","my file.txtnomatch*",".hidden.txt"],"fds":[[0,"pipe 1","r",false,0],[1,"file my file.txt","w",true,1],[2,"inherited 2","w",false,2]]}],"changed":[["*.txt *.txt",0]],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]}}},
{"line":"<a.txt 2>&3 sort 1>&2 \"my file.txt\" $x | 1>&2 1>&3 mv 1>&2 o","kind":"sweep","shells":{"dash":{"status":2,"procs":[],"changed":[],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]},"posix":{"status":1,"procs":[],"changed":[],"missing":[],"errors":["badfd","badfd"],"stderr":["3: Bad file descriptor","3: Bad file descriptor"]}}},
{"line":"mv >&2 nomatch* >&2 README .h* $s$n | grep 4>&2 >\"my file.txt\" 1>&3 README*e $f","kind":"sweep","shells":{"dash":{"status":2,"procs":[{"argv":["mv","nomatch*","README",".hidden.txt","a.txt","b.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"bash":{"status":1,"procs":[{"argv":["mv","nomatch*","README",".hidden.txt","a.txt","b.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]},"posix":{"status":1,"procs":[{"argv":["mv","nomatch*","README",".hidden.txt","a.txt","b.txt","nomatch*"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[2,"inherited 2","w",false,1]]}],"changed":[["my file.txt",0]],"missing":[],"errors":["badfd"],"stderr":["3: Bad file descriptor"]}}},
{"line":">&2 ls [c-a]* 3>>\"my file.txt\" 2>&- '' $f*e","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["ls","[c-a]*","","my","file.txt*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[3,"file my file.txt","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["ls","[c-a]*","","my","file.txt*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[3,"file my file.txt","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["ls","[c-a]*","","my","file.txt*e"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 2","w",false,1],[3,"file my file.txt","w",true,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"cp 4>&2 ${g} 3<&0 <&- $d*e","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".profile"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".profile"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cp","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt",".profile"],"fds":[[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 0","r",false,3],[4,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch $q \"\"*e \"a b\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","*e","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","*e","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch","a.txt","b.txt","*e","a b"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"rm ?????? \"$g\" $q\"$q\" 3<&0 2>&3","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["rm","README","*.txt *.txt","[ab].txt[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["rm","README","*.txt *.txt","[ab].txt[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["rm","README","*.txt *.txt","[ab].txt[ab].txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 0","r",false,0],[3,"inherited 0","r",false,0]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"3>&1 <$t cat","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["cat"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"touch .* [^a]*","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["touch",".","..",".hidden.txt",".profile","a.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["touch",".hidden.txt",".profile","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["touch",".hidden.txt",".profile","README","b.txt","c.log","my file.txt","x.xyz","y.xyz"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep | cat 'my file.txt' $x 0<$t 3<c.log 0<\"my file.txt\" [!.]*\"$p\"","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat","my file.txt","x.xyz","y.xyz","[!.]**"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat","my file.txt","x.xyz","y.xyz","[!.]**"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep"],"fds":[[0,"inherited 0","r",false,0],[1,"pipe 1","w",false,1],[2,"inherited 2","w",false,2]]},{"argv":["cat","my file.txt","x.xyz","y.xyz","[!.]**"],"fds":[[0,"file my file.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2],[3,"file c.log","r",false,3]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"0<c.log wc <a.txt 2>&1 \"a b\" $gc.log","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["wc","a b",".log"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["wc","a b",".log"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["wc","a b",".log"],"fds":[[0,"file a.txt","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 1","w",false,1]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}},
{"line":"grep $p${g}","kind":"sweep","shells":{"dash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"bash":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]},"posix":{"status":0,"procs":[{"argv":["grep","a.txt","b.txt","my file.txt","a.txt","b.txt","my file.txt"],"fds":[[0,"inherited 0","r",false,0],[1,"inherited 1","w",false,1],[2,"inherited 2","w",false,2]]}],"changed":[],"missing":[],"errors":[],"stderr":[]}}}],"traces":[{"line":"ls >o 2>&1","shell":"dash","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1","dup2 1 2"]]},
{"line":"ls >o 2>&1","shell":"bash","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1","dup2 1 2"]]},
{"line":"ls >o 2>&1","shell":"posix","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1","dup2 1 2"]]},
{"line":"ls 2>&1 >o","shell":"dash","procs":[["dup2 1 2","open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1"]]},
{"line":"ls 2>&1 >o","shell":"bash","procs":[["dup2 1 2","open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1"]]},
{"line":"ls 2>&1 >o","shell":"posix","procs":[["dup2 1 2","open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1"]]},
{"line":"ls 3<a.txt >o","shell":"dash","procs":[["open a.txt O_RDONLY = 3","open o O_WRONLY|O_CREAT|O_TRUNC = 4","dup2 4 1"]]},
{"line":"ls 3<a.txt >o","shell":"bash","procs":[["open a.txt O_RDONLY = 3","open o O_WRONLY|O_CREAT|O_TRUNC = 4","dup2 4 1"]]},
{"line":"ls 3<a.txt >o","shell":"posix","procs":[["open a.txt O_RDONLY = 3","open o O_WRONLY|O_CREAT|O_TRUNC = 4","dup2 4 1"]]},
{"line":"ls 3>o 1>&3 3>&-","shell":"dash","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1"]]},
{"line":"ls 3>o 1>&3 3>&-","shell":"bash","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1"]]},
{"line":"ls 3>o 1>&3 3>&-","shell":"posix","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 3","dup2 3 1"]]},
{"line":"ls 2>&1 | wc","shell":"dash","procs":[["dup2 4 1","dup2 1 2"],["dup2 3 0"]]},
{"line":"ls 2>&1 | wc","shell":"bash","procs":[["dup2 4 1","dup2 1 2"],["dup2 3 0"]]},
{"line":"ls 2>&1 | wc","shell":"posix","procs":[["dup2 4 1","dup2 1 2"],["dup2 3 0"]]},
{"line":"ls >>c.log 2>&1","shell":"dash","procs":[["open c.log O_WRONLY|O_CREAT|O_APPEND = 3","dup2 3 1","dup2 1 2"]]},
{"line":"ls >>c.log 2>&1","shell":"bash","procs":[["open c.log O_WRONLY|O_CREAT|O_APPEND = 3","dup2 3 1","dup2 1 2"]]},
{"line":"ls >>c.log 2>&1","shell":"posix","procs":[["open c.log O_WRONLY|O_CREAT|O_APPEND = 3","dup2 3 1","dup2 1 2"]]},
{"line":"ls <a.txt","shell":"dash","procs":[["open a.txt O_RDONLY = 3","dup2 3 0"]]},
{"line":"ls <a.txt","shell":"bash","procs":[["open a.txt O_RDONLY = 3","dup2 3 0"]]},
{"line":"ls <a.txt","shell":"posix","procs":[["open a.txt O_RDONLY = 3","dup2 3 0"]]},
{"line":"ls <&- >o","shell":"dash","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 0","dup2 0 1"]]},
{"line":"ls <&- >o","shell":"bash","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 0","dup2 0 1"]]},
{"line":"ls <&- >o","shell":"posix","procs":[["open o O_WRONLY|O_CREAT|O_TRUNC = 0","dup2 0 1"]]}]}
