Попробуйте:
a=`cat file1| sort | uniq | wc -l &`
вместо:
a=`cat file1| sort | uniq | wc -l` &
Также есть несколько мелких проблем:
бесполезный кот.
с использованием обратных кавычек вместо $ (...)
без двойных кавычек вокруг переменной
Рефакторированная рабочая версия:
#!/bin/bash
a=$(sort file1 | uniq | wc -l &)
b=$(sort file2 | uniq | wc -l &)
wait
echo a="$a"
echo b="$b"