2015年6月22日月曜日

Posted by mattintosh | File under : , ,
特にお題がない ヽ(´ー`)ノ


まずはスクリプトを書いてみましょう。

テキストエディタで以下のようなスクリプトを作成してみてください。ファイル名は「sample.txt」とし、ファイルの保存場所はホームディレクトリとします。
スクリプトを保存したら、ターミナル上で chmod コマンドで実行権限を付与します。
vi を使っている場合は :!chmod +x % で vi を終了せずに実行権限を付与できます。Komodo Edit を使っている場合は Ctrl + R でコマンド実行画面を呼び出せます。%F は現在のファイルのフルパスに置き換えられます。
statls -l でファイルを確認してみましょう。実行権限が付与されていることを確認してください。
~/sample.sh を実行します。 うまくメッセージが表示されたでしょうか?

では先程のファイルにいくつか記述を追加してみます。 変更点は以下の差分を確認してください。先頭に + がついている行が追加された行です。いずれこの差分の見方も紹介します。 実行権限は既に付与されているのでそのまま先程と同じように実行します。先程の出力よりかなり多くなっていますが、ところどころに出力されている >>> 部分に注目してみてください。 所々にスクリプトに書いてあるコマンドが出力されているのがわかるでしょうか?これは bash の xtrace オプション(set -x)によるものです。デバッグなどに使ったりするオプションですが、練習用におおすすめです。無効にする場合は set +x のようにオプションの符号を反転させます。

xtrace オプションを有効にするには、上記のスクリプトのように有効にしたいところに set -x または set -o xtrace を記述します。また、シェバングに #!/bin/bash -x を記述しても有効にすることができます。シェバングに記述する方がシンプルですが、無効にする場合にいちいち削除しなくてはいけないので set -x がおすすめです。

xtrace の有効・無効確認用のスクリプトです。 実行結果は下記のようになります。
スクリプトを書いて実行するところまではできたでしょうか?なお、xtrace はスクリプト内だけではなくターミナル上でも使うことができます。似たような機能で set -v もありますが、xtrace の方がコマンドの出力や引数がわかりやすくなっています。

実は今回作成したスクリプトには意図しない結果が出力されている部分があるのですがそれはまた今度お話します。

0 コメント:

コメントを投稿