# | スクリプト | 解説 | ||
---|---|---|---|---|
1 | #! /bin/bash | # | ||
2 | # @(#) world date | # | ||
3 | export TZ | # 環境変数 TZ(Time Zone) の定義 | ||
4 | TZ=:Japan; printf "%-20s%s\n" "Japan" "`date`" | # 日本時間にTZをセットし、日時を表示 | ||
5 | if [ $# -eq 0 -o $1="all" ]; then | # 引数がないか、"all" の場合 | ||
6 | set us uk | # us, uk を引数にセットしなおす | ||
7 | fi | # | ||
8 | # | |||
9 | while (($#>0)) | # 引数を順に処理(24行目でシフトしている) | ||
10 | do | # | ||
11 | case $1 in | # 最初の引数を評価 | ||
12 | 0|uk|UK) | #0, uk, UK の場合 | ||
13 | TZ=:GMT;printf "%-20s%s\n" "England" "`date`" | # TZ をGMT(グリニッジ標準時)として、日時を表示 | ||
14 | ;; | # | ||
15 | 1|Italy|French|German) | # | ||
16 | TZ=:GMT+1; printf "%-20s%s\n" "England" "`date`" | # | ||
17 | ;; | # | ||
18 | us|US) | # | ||
19 | TZ=:US/Central; printf "%-20s%s\n" "US-Central" "`date`" | # | ||
20 | TZ=:US/Eastern; printf "%-20s%s\n" "US-Eastern" "`date`" | # | ||
21 | TZ=:US/Hawaii; printf "%-20s%s\n" "US-Hawaii" "`date`" | # | ||
22 | ;; | # | ||
23 | esac | # | ||
24 | shift | # | ||
25 | done | # |
$ wdate Japan 2018年 7月16日 月曜日 14時38分52秒 JST US-Central 2018年 7月16日 月曜日 00時38分52秒 CDT US-Eastern 2018年 7月16日 月曜日 01時38分52秒 EDT US-Hawaii 2018年 7月15日 日曜日 19時38分52秒 HST England 2018年 7月16日 月曜日 05時38分52秒 GMT