シェルスクリプト
名前と現在時刻を表示するシェルスクリプト
シェルスクリプト hello
echo "こんにちは" `whoami` "さん" echo -n "現在時刻:" date '+%X'
- whoami コマンドを「`」で囲みコマンド展開
- echo コマンドの -n オプションで改行をしない指定
- date コマンドで現在時刻を表示。引数 '+%X' で時刻のみ表示指定
シェルスクリプトをファイル名のみで実行する
hello ファイルの先頭に以下の1行を付け加える
#! /bin/bash
シェルスクリプト hello を実行
- 環境変数PATHにはカレントディレクトリを示す 「.」が含まれて居ないため、そのままファイル名のみで実行するとエラーが出る。
その為、「./」を付けてカレントディレクトリを示すパスを指定する必要がある。
./hello
「./」を使わずにシェルスクリプト hello を実行する方法
環境変数PATHで指定されているディレクトリに保存する
/usr/local/bin | 全ユーザーが使用するコマンドを保存 |
~/bin | 自分だけが使用するコマンドを保存 |
この2つのディレクトリに保存するのが一般的
環境変数PATHに ~/bin が指定されているかチェック
echo $PATH
もしくは
printenv PATH
実行結果
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/riceplanting/bin
/home/riceplanting/bin と指定されているのを確認。
※ ない場合は環境変数PATHを追加する
export PATH=$PATH:$HOME/bin source ~/.bash_profile
環境変数PATH指定されたディレクトリにスクリプトを保存する
cp hello /home/riceplanting/bin/
これでファイル名のみで実行可能になる
- 実行と結果
[riceplanting@localhost public_html]$ hello こんにちは riceplanting さん 現在時刻:13時43分37秒