bash completionの質問

c.shにこのコードを書きました
#!/bin/bash

comptest () {
COMPREPLY=(aa bb)
}
complete -F comptest foo

そして
chmod +x ./c.sh
$bash ./c.sh
を実行したのですが
foo を入力してtabを押してもaaとbbが出てこず、現在いるディレクトリの中のディレクトリ名が表示されてしまいます

直接コードをターミナルに貼り付けて実行するとaaとbbが出てきました。
どうしたらc.shを読み込んで補完ができるようになりますか?