0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita投稿の準備に!ターミナルで個人情報を簡単に非表示にする方法

Posted at

はじめに

  • きっかけ
    • Qiitaの投稿を準備していて、ターミナルに個人情報が出ていることに気づく
    • コマンドの結果を貼り付けたときに、うっかり公開してしまう恐れがある
  • 目的
    • Qiita投稿時の個人情報の漏洩リスクを低減したい
    • 通常時とQiita投稿準備中とで、ターミナルの表示を簡単に切り替えたい
  • 作業環境
    Cursor_20241017_175545.png
  • 費用
    • 無料

完成したもの

~/.zshrc
・・・ (中略)

setopt PROMPT_SUBST

# SHOW_USER_HOSTはターミナルの表示切り替え用のフラグです。0で個人情報を非表示、1で通常表示です
    
# SHOW_USER_HOSTが未定義または空なら、デフォルトで 1 に設定して環境変数としてエクスポート
# Qiita用設定を使わない時、通常のプロンプト表示に戻すために 1 をデフォルトにしています
export SHOW_USER_HOST="${SHOW_USER_HOST:=1}"

# SHOW_USER_HOSTが 0 ならQiita用表示。ユーザー名やホスト名は非表示になる
if [[ "$SHOW_USER_HOST" == "0" ]]; then
    PS1='%F{yellow}%D %*%f : %F{cyan}%~%f %F{red}$(__git_ps1 "(%s)")%f
\$ '
else
    PS1='%F{yellow}%D %*%f %F{green}%n@%m%f: %F{cyan}%d%f %F{red}$(__git_ps1 "(%s)")%f
\$ '
fi

切り替え前後のターミナルの表示

  • 元々は、作業ログとしてユーザー名などを表示している
    現在時刻 ユーザー名@ホスト名 フルパスのカレントディレクトリ gitの情報 改行
    
  • Qiita用では、ユーザー名、ホスト名などの表示はしない
    現在時刻 ホームからのカレントディレクトリ gitの情報 改行
    

Cursor_と_export_SHOW_USER_HOST_0_source____zshrc_•Untitled-1—_google_ime_20241017_170234.png

切り替えコマンド

  • 環境変数で表示をオフにして、~/.zshrcを再読み込みする
  • 再読み込みすることでプロンプトの表示設定が即座に反映されます
  • Qiita投稿準備中では常に個人情報を非表示にできる
    export SHOW_USER_HOST=0;source ~/.zshrc
    
  • 通常のプロンプト表示に戻したい場合は、再度SHOW_USER_HOST=1と設定してください

参考

  • zsh: 14 Expansion

    ${名前=単語}
    ${名前:=単語}
    ${名前::=単語}
    最初の形式では、nameが設定されていない場合はwordに設定し、2 番目の形式では、nameが設定されていないか null の場合はwordに設定し、3 番目の形式では無条件にname をwordに設定します。すべての形式で、パラメータの値が置き換えられます。

さいごに

  • ターミナルに表示される内容の設定方法を理解できた
  • shの変数の初期化方法にはいくつも種類があることを知った
  • この記事がQiita投稿時の個人情報漏洩に役立てれば幸いです
0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?