私は見つけた この これは解決策に近いようですが、それだけではありません。
編集:JavaScriptを使用すると、私はただ実行することができます知っている test.replace(/\w/g, "*")どこで test 私のユーザー名ですが、私はターミナルの同等物を知りません
***** (それらは私が話していた特殊文字です)。私は使うと思う PRMOPT_COMMAND 前にこれを行う $PS1 始まります。
私は見つけた この これは解決策に近いようですが、それだけではありません。
編集:JavaScriptを使用すると、私はただ実行することができます知っている test.replace(/\w/g, "*")どこで test 私のユーザー名ですが、私はターミナルの同等物を知りません
***** (それらは私が話していた特殊文字です)。私は使うと思う PRMOPT_COMMAND 前にこれを行う $PS1 始まります。
回答:
隠されたユーザー名は、元のユーザー名と同じ長さにしますか?そのようです:
Alices-MacBook:〜*****
Bobs-MacBook:〜***
次のコードスニペットがその仕事をするはずです(そして、ボーナスとして、それはまたhostnameを隠します)。 〜/ .bash_profileに追加するか、PS1を設定した場所に追加します。 (私はテスト用に一時ファイル - test.sh - を作成し、そのファイルを入手しました - '。./test.sh'。何かが目立って間違っていたら、私はプロンプトを判読できなくしてしまいました。ターミナルに戻り、私の古いプロンプトに戻ります。
PROMPT_COMMAND=__prompt_command
__hide_string()
{
echo "$1" | sed 's/./\*/g'
}
__prompt_command()
{
PS1="$(__hide_string $HOSTNAME):\W $(__hide_string $USER)\$"
}
これは、ユーザ名のすべての文字を "*"に置き換えます(関数の再利用を示すために、ホスト名に対しても行います)。これは理想的とは言えないと思います。(ユーザー名が変更されていなくても)プロンプトが表示されるたびに関数が呼び出される(ユーザーに1回、ホスト名に1回)。 PS1が設定されている場合(つまりログイン時)にのみ__hide_string関数を呼び出すように修正します。
説明:定義した__prompt_command関数は、プロンプトが表示されるたびにPS1を設定します。 (これはおそらくやり過ぎですが、物事を「動的」に保ちます)。 PS1はおなじみのはずです。唯一の新しい点は、 '\ h'と '\ u'が__hide_string関数の呼び出しに置き換えられたことです(そして引数として$ HOSTNAMEと$ USERを使用します)。 __hide_stringは楽しい部分です。引数をsedにエコーするので、個々の文字はすべて '*'に置き換えられます。
の PS1 promptはで定義されています /etc/bashrc そしてデフォルトは通常 PS1='\h:\W \u\$ '。あなたは交換します \u と *****。たとえば、単に追加することもできます。 export PS1='\h:\W *****\$ ' あなたに ~/.bash_profile システムファイル( /etc/bashrc )一人で。
${USER//?/*} (すなわちエクスポートPS1 = "\ h:\ W $ {USER //?/ *} \ $")。ユーザー名はセッション中には変更されないので、これはプロンプトごとに(PROMPT_COMMANDを使用して)1回ではなく、セッションごとに1回(〜/ .bash_profileおよび場合によっては〜/ .bashrcでも)実行するだけで十分です。
PROMPT_COMMANDそしてPROMPTINGの中にBASHマニュアルページ?ターミナルタイプbashそれを右クリックして選択Open man Page。それから⌘Fそしてそれについて検索して読んでください。あなたがいますか googled - bashコマンドプロンプトをカスタマイズする方法 ?これはいいことです。 方法:bashカスタムプロンプトを変更/設定する(PS1)