'grep'コマンドのフルネームはshell:grepです。たとえば、別のコマンドが同じ短い(修飾されていない)名前でインストールされていて、混乱していないかどうかを確認するために試してみてください。
もう1つの可能性は、grepサービスを提供するバンドルがおそらく偶然に停止したことです。
osgi:list -t 0 -s
シンボリック名ですべてのバンドルのリストが表示されます。これには次のものが含まれます:(番号は異なる場合があります):
[ 18] [Active ] [Created ] [ 30] org.apache.karaf.shell.commands (2.2.3)
karaf@root> osgi:stop 18
You are about to access system bundle 18. Do you wish to continue (yes/no): yes
karaf@root> help | grep grep
Command not found: grep
karaf@root> osgi:start 18
You are about to access system bundle 18. Do you wish to continue (yes/no): yes
karaf@root> help | grep grep
shell:grep
そのバンドルが停止されている理由については、おそらく何か(または誰か)が明示的に停止していますか?それとも偶然に止められているのですか?