web-dev-qa-db-ja.com

コマンドラインに名前が表示されないのはなぜですか?

願わくば、ここにシンプルなものがあります。新しいアカウントが追加されてログインするときに、$にユーザー名がないのはなぜですか?

 Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-23-generic-pae i686)

 * Documentation:  https://help.ubuntu.com/

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

You have mail.
$
4
John Smith

useraddを使用して新しいアカウントを追加した場合、新しいユーザーのログインシェルは/ bin/shに設定される可能性があります。これは、Ubuntuではダッシュシェルへのシンボリックリンクです。 Dashは、〜/ .bashrcファイルを読み取らず、ser @ Hostコマンドラインプロンプトを設定しない、よりシンプルなシェルです。/etc/passwdファイルを調べるか、次を使用して確認できます。

getent passwd username

デフォルトのシェルをより一般的なbashに変更できます

chsh -s /bin/bash

シェルを変更するユーザーとしてログインしている場合、または

Sudo chsh -s /bin/bash username

別のアカウントのログインシェルを変更します。これが再発しないようにするには、-sまたは--Shellオプションを使用してuseraddコマンドラインでログインシェルを指定するか、代わりに高レベルユーティリティadduserを使用します。 。

4
steeldriver

基本的なBashプロンプトは、PS1という名前の変数です。この変数は通常〜/ .bashrcファイルで設定されます。 bashシェルは、起動時にそのファイルを読み取り、変数を設定します。 PS1変数が.bashrc(または.profile)ファイルで設定されていない場合、プロンプトは表示されません。あなたの場合、PS1変数は$に設定されています。

export PS1="\$"

変数を試してみることができます、例:try:

  • export PS1="\u\$"
  • export PS1="\u@\h\$"

プロンプトがどのように変化するかがわかります。 bashrcファイルを、プロンプトが表示されるように編集します。詳しくは こちら をご覧ください。

1
falconer