sedコマンドの条件式に変数を使う場合に注意すること

sedを使用して、次のコマンドを実行しようと指定していた際にエラーの原因が分からず何十分かくらい悩んでいました。

sed -n '$l,$lp' 

実行結果は、lに格納されている値の行をとってきたかったのですが、ずっと以下のようなエラーが出ていました。

sed: -e expression #1, char 3: unknown command 

いやいや、コマンドラインで格納されている値にしたら結果でるんだから、エラーであるのおかしくない?と思いながらも、 エラー原因を探してみると、以下のような原因らしいです。

コマンドラインやシェル・スクリプトの中で使う時には、 sed の命令を引用符「''」で括るとよい。 引用符「''」は、シェルによりはがされ、 sed コマンド本体には渡されない。
引用符「''」で括らなかった時には、「$」や「*」など が、シェルによって解釈され、sed には渡されない。
シェル・スクリプトで、引数やシェル変数を参照したい時には、 sed のコマンド全体を引用符「''」で 括り、その中で変数の部分だけ引用符を解除する。

-(1)

なるほど~!ではと思い、変数をシングルコーテーションでくくった結果、上手く行きました。

sed -n ''$l','$l'p' 

参考URL (1)http://www.coins.tsukuba.ac.jp/~yas/coins/syspro-2001/2001-06-25/