端末に現在の機械情報を表示するには?

端末に現在の機械情報を表示するには?

私が実際に使用しているコンピュータを確認できるコマンドラインはありますか?

私は端末を広く使用していますが、PS1セッションとコンピュータが似ていて、現在どのデバイスを使用しているのかを混乱させます。マシンとは、現在のユーザーではないローカルコンピュータまたはサーバーを意味します(PS1ではこれを表示するため)。コマンドラインがありますか?

(ps:PS1の変更方法ではなくコマンドラインを要求しました。時々小さな画面で作業し、比較的短い行を管理したいからです。)

ありがとう

ベストアンサー1

IMHO、ヒントはあなたの現在地を教えてくれる最高のツールです。これは、コンピュータ、現在のユーザー名、ディレクトリなどに関する情報を思い出させるために使用できます。プロンプトはコマンドラインに常に表示されるため、無視するのは難しいです。他のものを使う注文する現在、コンピュータ名(例hostname:)を見つけることも明らかに効果がありますが、そうすることを忘れていました。


ホスト名を含む文字列でデフォルトのプロンプトを設定します。

PS1="$(id -un)@$(hostname) \$ "

これにより、現在のコンピュータで自分のユーザーのプロンプトが次のように設定されます。

[email protected] $ 

ホスト名のドメイン部分を削除するhostname -s代わりに使用することをお勧めします。hostname

一部のシェル(例:)bashには、同じ目的で使用できる短縮表記があります。bash(より短いバージョンのホスト名を取得するには、\H次のように変更してください):\h

PS1='\u@\H \$ '

export PS1これは現在のシェルプロセスでのみ使用されるため、必要ありません。

この変数はシェル初期化ファイルで変更できます。bash修正するには、~/.bashrc関連するシェルマニュアルをお読みくださいPS1


非常に小さな画面では、独自の動的プロンプトを作成する必要があります。

case "$(hostname)" in
    bigserver*)  promptstr='bs'  ;;
    srv-*)       promptstr='srv' ;;
    accounting*) promptstr='a'   ;;
    web-dev-*)   promptstr='wd'  ;;
    *)           promptstr=$(hostname -s) ;;
esac

PS1="$promptstr \$ "

または、ホスト名の最初の3文字を使用してください。

HOSTNAME=$(hostname)
PS1="${HOSTNAME:0:3} \$ "

(明らかに、これはそのような変数置換を実行する方法を知るシェルが必要ですが、bashそうです)

...または()をローカルではなくリモートで使用するなど、ローカルではないことを知らせる別のインジケータかもしれません*。または、できるだけ多くのヒントのうちの他のヒント。$PS1='*$ '

おすすめ記事