「クリア」するたびにbashrcファイルを入手する方法


13

これは悪い考えかもしれません。私はそれについて考えるほど、私はおそらくそれをしてはならないという認識になります...

私が望むのは、clearコマンドを実行するたびにbashrcファイルを取得することです。この理由は完全に唯物論的です。bashrcをソースするときにシステム情報がエコー表示されますが、それは私にとってクールであり、クリアするたびにトップになりたいです。
いくつかのエイリアスを設定しようとしましたclearが、無限ループに陥り続けます。明白な修正は、エイリアスをclear以外の何かに変更して、エイリアスでclearコマンドを干渉せずに実行できるようにすることです。clearと入力し、それを明確にし、bashrcファイルをソースできるようにしたいと思います。


2
.bashrcスクリプトに累積効果がないことを確認してください。パスに物事を追加するようなことを行うと、面倒になります。一般的に、.bashrcはシェル環境を初期化するためのものです。他の処理を行う場合は、それらを新しいスクリプトに分割し、clearと共に呼び出してください。また、他の誰かがシステムを使用したり支援したりすると、一般的なコマンドの用途を変更したため、予期しない動作が発生する可能性があります。
ジョー

@Joeそれは、私のシステムを使用している他の人々についての良い点です。あなたたちは私が考えもしなかった多くのことを育ててきました。
CaldwellYSR

回答:


27

alias clear='source ~/.bashrc; \clear'

\あなたが外部コマンドではなく、別名を呼び出したいことはbashに指示します。


ああ、それはそのような単純なものになるとわかっていました!
CaldwellYSR

13
おそらく他の順序でこれを行う必要があります。そうしないと、.bashrc生成された出力が消去されます。しかし、まったく出力生成することも悪い考え.bashrcです。
cjm

@cjmええ、私は今朝、注文について気付きました。私はすでに正しい順序でそれを持っていました、私は` in front of 明確なものを持っていませんでした`私はbashrcと出力に関するその情報を見ていきます。リンクをありがとう。
CaldwellYSR

代わるものでは\clearありcommand clear
グレン・ジャックマン

@CaldwellYSR、短いバージョンはそのssh host commandソース.bashrcです。出力が生成される場合、ホストとアカウントでリモートコマンドを実行しようとするスクリプトが混乱します。あなたは今それをしていないかもしれませんが、いつかあなたはそうするかもしれません、そして、あなたはそれがなぜ動かないのか混乱するでしょう。
cjm

2

必要なシステム情報を印刷するスクリプトを作成します。エイリアス.bashrcから、またはclearエイリアスから呼び出します。


1

あなたの中に.bashrcセットのエイリアスclearその情報源.bashrcその後:

alias clear='clear && . ~/.bashrc'

1

ジョーのコメントごとに...「累積効果」がある場合(プロファイルを複数回再実行しても安全ではありません)、これを回避するためのハックがあります!

alias clear='\clear; exec bash -l'

これにより、クリアするたびに新しいインタープリターが開始され、あらゆる点で本当に新鮮なスタートが保証されます。ただし、execは、後で大量のプロセスを処理する必要がないことを意味します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.