2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macでのターミナル操作ログを残す方法

Posted at

実施する手順

  1. ターミナルを立ち上げてMacの操作ログを残したいディレクトリを作る。
    $ cd /Users/<User名>/Documents/  #作成したいディレクトリまで移動
    $ mkdir terminal-log             #フォルダを作成
    $ cd terminal-log                #作成したフォルダに移動
    $ pwd                            #パスをフルパスで確認
    /Users/<User名>/Documents/terminal-log
    
  2. ターミナル起動時に自動実行するように設定を仕込んでおく
    $ 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
    
  3. (動作確認) (スキップしてもOK) 反映を即時確認したい場合は以下を実施する。または、新規ターミナルを立ち上げる。
    $ source .zshrc
    
  4. (動作確認) 取得したログを開いて、ログが取得できていればOK
    $ cat /Users/<User名>/Documents/terminal-log/20yy-hh-mm_hhmmdd.log
    

補足(.zshrc)

  1. .zshrcへ以下の記述だと無限ループが発生する
    $ vim .zshrc   # 編集する
    以下4行を追記する
    # -----------------------------
    # Terminal Log get
    # -----------------------------
    script /Users/<User名>/Documents/terminal-log/`date "+%Y-%m-%d_%H%M%S"`.log
    

    script コマンドが新しいシェルセッションを開始し、それがまた .zshrc を読み込んで script コマンドを再度実行する為、無限ループが発生する

補足(文字化け)

  1. script で出力した情報を普通にテキストエディタで開くと文字化けで表示される。
    回避方法を色々試してみたが、Macのターミナル上でcatで閲覧できるようだったのでそれでOKとした。
2
1
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?