位置パラメータの基本
コマンドライン引数は、位置パラメータとしてスクリプトに渡されます。
基本的な位置パラメータ
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
shift命令
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
getoptsを使ったオプション解析
getoptsは、短いオプション(-a、-b など)を解析するための組み込みコマンドです。
基本的なgetopts
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
引数を必要とするオプション
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
長いオプションの処理
手動での長いオプション処理
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
短いオプションと長いオプションの組み合わせ
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
実践的な例
ファイル処理スクリプト
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
演習問題
演習1: 設定ファイル生成スクリプト
オプションを解析して設定ファイルを生成するスクリプトを作成してください。
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
演習2: バックアップスクリプト
柔軟なオプションを持つバックアップスクリプトを作成してください。
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$
█
ファイルツリー
/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log
まとめ
このレッスンで学んだこと:
- 位置パラメータ - $0、$1、$@、$#、shift の使い方
- getopts - 短いオプションの解析
- 長いオプション - 手動での実装方法
- 混合オプション - 短いオプションと長いオプションの組み合わせ
- 実践的な実装 - エラーハンドリング、検証、ヘルプ表示
次のレッスンでは、文字列操作と配列について学習します。