Linuxで括弧がないというメッセージが表示される

Linuxで括弧がないというメッセージが表示される

VPSサーバーとゲストシステムでcentosを使用しています。ゲストシステムにログインするには2つの方法があります。 1 つはルート、もう 1 つはルーチンです。ゲストとchrootをマウントディレクトリにマウントし、マウントされたゲストの一般アカウントに切り替えます。すると、以下のように括弧がありません。

[root@server image]# chroot /mnt/guest34
[root@server /]# su - regular
-bash-4.1$ sd
-bash: sd: command not found

答え1

.bash_profileとについて読む必要があります.bashrc。括弧内の情報は通常、ホームディレクトリおよび/または/etc/profile(で始まる行を探す)のPS1=ファイルのデフォルト設定です。私はchrootを実行すると、ユーザーがこれらのファイルをロードするためにホームフォルダにアクセスできないと仮定します。したがって、プロンプトはデフォルトでカスタマイズされません。

ほとんどの最新のディストリビューションは同様のものを表示します[user@server directory]#が、この動作はこれら2つのファイルによって制御されます。あなたが見ているのは、ユーザーのホームページから読み込むことができないため、カスタマイズされたbashではありません。

答え2

どんな質問がありますか?

プロンプトの外観は$PS1変数によって定義されます。アカウントregularには変数値に角括弧がありません。

regularプロンプトを自分のものと同じように表示するには、まずログインしてから値rootをコピーまたはメモします。次に、に切り替えての値に設定します。貼りたい場合は保存してください。rootecho $PS1regular$PS1~/.bashrc

これらの内容はすべてで詳しく説明されていますman bash

答え3

または、以下を複製できます。

git clone git://github.com/christopher-barry/bash-color-tools.git

カスタムテーマカラープロンプトを使用してツリールートで./installを実行します。 :)

関連情報