88203


`useradd -u <uid> -g <group> -d <home_directory_path> <username>`

上記のようにユーザを作成した場合、<home_directory_path>が作成され、プロンプトには

`[<username>@<hostname>~]`のように表示がされます。

しかし、`<username>@<hostname>$`のように表示されるようユーザを作成にはどうすればよいでしょうか。  
かつ、.bash_profileや.bashrcもちゃんと作成されるようにしたいです。

補足 : 目的としましては、新規ユーザ作成後、そのユーザでログインした際に表示を変えたいのです。

`[testuser@centos7]$`

のような感じてはなく、

`testuser@centos7$`

のように[]を表示させないようにするユーザ作成方法が知りたいです。


CC BY-SA 4.0
2022-04-06T07:27:12.983
88195
2022-04-06T16:28:54.160
2022-04-06T15:39:16.243
44175
44175
question
linux
Linuxのuseraddコマンドについて


`[testuser@centos7]$` の部分はシェルのプロンプトと呼ばれ、`useradd`
コマンドとは直接関係はありません。この部分の表示をカスタマイズしたい場合には、環境変数 `$PS1` を編集します。

`echo` コマンドで確認すると、恐らく以下のような定義になっていると思います。

[code]

    $ echo $PS1
    [\u@\h \W]\$
    
[/code]

  * `\u` ... ユーザー名
  * `\h` ... ホスト名
  * `\W` ... カレントディレクトリ

* * *

`[]` が不要な場合には、以下のように定義し直します。

[code]

    $ export PS1="\u@\h \W\$"
    
[/code]

ログインし直すと設定は元に戻ってしまうので、次回以降も永続化するには `~/.bashrc` に先程のコマンドを追記します。

[code]

    $ vi ~/.bashrc
    
    ### ファイルの末尾に以下の行を追記
    export PS1="\u@\h \W\$"
    
[/code]


CC BY-SA 4.0
2022-04-06T16:28:54.160
88203
2022-04-06T16:28:54.160
3060
88195
answer