実施する手順
- ターミナルを立ち上げてMacの操作ログを残したいディレクトリを作る。
$ cd /Users/<User名>/Documents/ #作成したいディレクトリまで移動 $ mkdir terminal-log #フォルダを作成 $ cd terminal-log #作成したフォルダに移動 $ pwd #パスをフルパスで確認 /Users/<User名>/Documents/terminal-log
- ターミナル起動時に自動実行するように設定を仕込んでおく
$ cd # ホームディレクトリに移動する $ ls -l .zshrc # .zshrcがあるかどうか確認する $ vim .zshrc # 編集する 以下4行を追記する # ----------------------------- # Terminal Log get # ----------------------------- if [ -z "$SCRIPT_STARTED" ]; then export SCRIPT_STARTED=yes script /Users/<User名>/Documents/terminal-log/`date "+%Y-%m-%d_%H%M%S"`.log fi
- (動作確認) (スキップしてもOK) 反映を即時確認したい場合は以下を実施する。または、新規ターミナルを立ち上げる。
$ source .zshrc
- (動作確認) 取得したログを開いて、ログが取得できていればOK
$ cat /Users/<User名>/Documents/terminal-log/20yy-hh-mm_hhmmdd.log
補足(.zshrc)
- .zshrcへ以下の記述だと無限ループが発生する
$ vim .zshrc # 編集する 以下4行を追記する # ----------------------------- # Terminal Log get # ----------------------------- script /Users/<User名>/Documents/terminal-log/`date "+%Y-%m-%d_%H%M%S"`.log
script コマンドが新しいシェルセッションを開始し、それがまた .zshrc を読み込んで script コマンドを再度実行する為、無限ループが発生する
補足(文字化け)
- script で出力した情報を普通にテキストエディタで開くと文字化けで表示される。
回避方法を色々試してみたが、Macのターミナル上でcatで閲覧できるようだったのでそれでOKとした。