#compdef dd local expl if compset -P 1 'conv\='; then # If there's a comma present, ignore up to the last one. The # test alone will have that effect. compset -p '*,' _description expl conversion compadd "$expl[@]" -qS, -q \ ascii ebcdic ibm block unblock lcase ucase swab noerror sync elif compset -P 1 'if\='; then _description expl 'input file' _files "$expl[@]" elif compset -P 1 'of\='; then _description expl 'output file' _files "$expl[@]" else _description expl option compadd "$expl[@]" -S '=' if of ibs obs bs cbs skip files seek count conv fi