私は見つけた この これは解決策に近いようですが、それだけではありません。
編集: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)