■作成するプログラムの仕様
▼処理概要
①実行引数の個数を表示する
②コマンド終了ステータス(正常系)を表示する
③コマンド終了ステータス(異常系)を表示する
④実行時のプロセスIDを表示する
▼補足説明
処理概要②
実在するディレクトリについて[ ls ]コマンドを実行し、コマンド終了ステータスを取得する。
処理概要③
実在しないディレクトリについて[ ls ]コマンドを実行し、コマンド終了ステータスを取得する。
▼補足説明の概要図
■使用するコマンド
コマンド | 概要説明 |
---|---|
echo | 文字列/変数を表示する |
ls | ファイル/ディレクトリ情報を出力する |
$# | 実行時の引数の数を出力 |
$? | コマンド終了パラメータを出力 0:正常系 0以外:異常系 |
$$ | 実行時のプロセスIDを出力 ※実行のたびにIDは変わる |
■サンプルコード
#!/bin/bash
echo "#########実行引数の数##############"
# 実行引数の個数を表示する
echo "実行引数の数:"$#
echo "#########コマンド終了ステータス(正常系)##############"
# コマンド終了ステータス(正常系:実在するディレクトリ)
ls /work
echo "コマンド終了ステータス:"$?
echo "#########コマンド終了ステータス(正常系)##############"
# コマンド終了ステータス(異常系:実在しないディレクトリ)
ls /hogehogehoge
echo "コマンド終了ステータス:"$?
echo "##########プロセスID#############"
# 実行時のプロセスIDを表示
echo "実行時のプロセスID:"$$
■実行結果
▼実行コマンド
./sample.sh a b
#########実行引数の数##############
実行引数の数:2
#########コマンド終了ステータス(正常系)##############
sample.sh
コマンド終了ステータス:0
#########コマンド終了ステータス(正常系)##############
ls: /hogehogehoge にアクセスできません: そのようなファイルやディレクトリはありません
コマンド終了ステータス:2
##########プロセスID#############
実行時のプロセスID:29090