今日の一言【シェルプログラムを実行しているプログラム名を表示する】
実行コマンド
cat shellExecuteProgram.sh
/*===============================================================*/
#!/usr/bin/env sh
echo 現在実行しているシェルプログラム = ps -o command -p $(echo $$) | tail -1
| awk '{ printf %s %s %s を介して %s を実行しています。\n, $1, $2, $3, $4 }'
/*===============================================================*/
実行結果
./shellExecuteProgram.sh
/*===============================================================*/
現在実行しているシェルプログラム = sh を介して ./shellExecuteProgram.sh を実行しています。
/*===============================================================*/
実行コマンド
cat shellExecuteProgram.sh
/*===============================================================*/
#!/usr/bin/env bash
echo 現在実行しているシェルプログラム = ps -o command -p $(echo $$) | tail -1
| awk '{ printf %s %s %s を介して %s を実行しています。, $1, $2, $3, $4 }'
/*===============================================================*/
実行結果
./shellExecuteProgram.sh
/*===============================================================*/
現在実行しているシェルプログラム = bash を介して ./shellExecuteProgram.sh を実行しています。
/*===============================================================*/
プログラム冒頭にある下記シバンですがこのように書くことで各環境に惑わされずに目的の実行プログラムを呼び出すことができます。
!/usr/bin/env
!/usr/bin/env の後にスペースを空けて呼び出したいプログラム名を指定します。
bash や sh や zsh などのように・・・
ディスカッション
コメント一覧
まだ、コメントがありません