始める無料で始める

単一の引数をどのように処理できますか?

$@ に加えて、 シェルでは特定のコマンドライン引数を指すために $1$2 などを使えます。 これを使うと、シェルの書き方よりも直感的でシンプルなコマンドを書くことができます。 たとえば、ユーザーが最初の引数にファイル名、2番目に列番号を渡すと、CSV から単一の列を抽出するスクリプト 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 入門

コースを見る

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

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

演習を開始する