April 2020
Intermediate to advanced
352 pages
4h 11m
Japanese
宮本 久仁男
本付録は日本語版オリジナルの記事である。本稿では、bashのトレースオプションについて解説する。bashのトレースオプションを指定すると、普通に実行すると何の出力もしないところで「今何を実行しているか」を出力させることが可能になるので、スクリプトのデバッグに役立つ。
bash実行時に、「何を実行しているか」を確認するためには、2通りの方法がある。
#!/bin/bashというようになっているところを、#!/bin/bash -xと指定して実行する。bash -x [スクリプトファイル]というようにして、当該スクリプト実行時にトレース結果を表示するように指定する。なお、トレース結果の出力先は、標準エラー出力である。このため、2>という表現を用いて指定ファイルにリダイレクトを行うことが可能である。
さて、bashに対して与える-xオプションだが、bashのmanにはそのものの記述がない。その代わり、-oオプションに与えるパラメータxtraceの説明で、「-xと同じ」という記述がある。
ただ、以下の利用例で-xではなく-o xtraceを使用した場合、一部動かないケースを確認したので、本稿ではトレースオプションの指定には-xを使うこととする。
以下の利用例では、ファイル名sample.shというシェルスクリプトを任意のディレクトリに配置し実行する。
なお、sample.shの実行時には、ユーザはsample.shが配置されているディレクトリをカレントディレクトリとしていると仮定する。
#!/bin/bash ...
Read now
Unlock full access