$ a=a:~; export a
$ export a=a:~

このふたつの違いを考えてみるとわかる。
~ がコマンド引数の一部なのか、変数代入文なのか。