始める無料で始める

1つの引数を処理するにはどうすればよいでしょうか?

$@ と同様に、シェルでは $1$2 などを使って特定のコマンドラインパラメータを参照できます。 これを使うと、シェル自体よりも簡潔で自然に感じられるコマンドを書くことができます。 例えば、ユーザーが最初のパラメータとしてファイル名、2番目のパラメータとして列を指定すると、 CSVファイルから1つの列を選択する column.sh というスクリプトを作成できます。

cut -d , -f $2 $1

そして、次のように実行します。

bash column.sh seasonal/autumn.csv 1

このスクリプトでは、2つのパラメータを逆の順序で使っている点に注目してください。


次のスクリプト get-field.sh は、ファイル名、選択する行の番号、選択する列の番号を受け取り、 CSVファイルからそのフィールドだけを出力することを目的としています。 例えば、

bash get-field.sh seasonal/summer.csv 4 2

は、seasonal/summer.csv の4行目から2番目のフィールドを選択するはずです。 これを実現するには、get-field.sh に次のうちどのコマンドを記述すればよいでしょうか?

この演習はコースの一部です

Shell 入門

コースを見る

実践的なインタラクティブ演習

理論を実践に変える、インタラクティブな演習のひとつをお試しください

演習を開始する