LoginSignup
2
1

More than 5 years have passed since last update.

シェルにプライベートな情報を表示させない方法

Last updated at Posted at 2016-08-15

qiitaにシェルの内容を含めて投稿する際に、ユーザ名やホスト名を隠したい場合があると思います。シェルの入出力だけならテキスト処理ツールを使って削除することもできますが、スクリーンショットをアップロードする場合は端末のタイトルにもこれらの情報が表示されるので、黒塗りする手間も加わります。そこで最初からプライベートな情報をプロンプトに表示させない方法を紹介します。

準備

次のようなファイルを作成します。

.examplerc
source ~/.bashrc 2> /dev/null
if [ "$EUID" -eq 0 ];
then
    name="root"
else
    name="user"
fi
PS1='\[\[\e]0;\a\]'"$name"'@example:\w\$ '

一応コードの説明

EUIDは実行ユーザIDです。UIDを使わないのは後述の\wの仕様に合わせるためです。
PS1変数は展開されてプロンプト文字列として使われるものです。

\[\[\e]0;~\a\]で囲った内容が端末のタイトルになります。今回の場合は端末のタイトルに何も表示しない(実際は"端末"と表示される)ということです。

また\w\$は特殊文字で、それぞれカレントディレクトリと$(実行ユーザIDが0のときは#)に展開されます。

その他の利用可能なカスタマイズ用特殊文字についてはbashのマニュアルをご覧ください。

利用

以下のようにしてbashを起動します。

$ bash --rcfile .examplerc

shell_no_prv_info.png

あとは存分にコマンドを呼んでコピペしてやるだけです。

zsh向けの方法とかも調べなきゃ・・・。

2
1
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
2
1