シェルスクリプトで書くときにはshで書くのが普通なんですか?

シェルスクリプトでは$test(1)...$test(x)でfor文を作るようなことは出来る
のですか?
シェルスクリプトは全然知らないので勉強したいのですが、
何か良い本はありますか?