FreeBSDでBash .rcファイルをお探しですか?

FreeBSDでBash .rcファイルをお探しですか?

私はFreeBSDとbashをシェルとして使用しています。私はFreeBSDに基づくFreeNASとpfSenseと一緒にSSHを使用します。

bashオプションの設定について混乱しているので、いくつかの説明が役に立ちます。今後のセッションで使用するさまざまなシェルオプションを取得しようとしていますが(セッションから呼び出されたシェルにエクスポート)、多くの運がありません。たぶん私はそれらを置く正しいファイルを見つける方法、またはそこに置く正しい方法を知らないかもしれません。

私の主な問題は、おそらくセッションのrcファイルを見つけることです。(!!)rootとしてログインして実行すると、su他のset環境変数のリストが表示されます。ところで、ユーザーを変更していないのに、なぜrcファイルが違うのか混乱します。 (私が見つけたファイルには、私が見ていた環境変数に関する他の項目はありませんでした。)set出力が表示されますが、ENV=/USERNAME/.shrcこのファイルを編集して再度ログインすると、セッションに対する変更は表示されないため、表示できる場所ではないようです。しかし、編集内容もバインドしましたが、~/.bashrc何の効果もないようです。

セッションを開始するためにどの.rcファイルが使用されたかを直接確認する方法が必要ですが、どうすればよいかわかりません。特にFreeNASとpfSenseの両方に独自のカスタム位置があるためです。

1 つまたは 2 つの rc ファイルを使用しても、現在のセッションと同じ将来のセッションのためにどの rc ファイルを編集する必要があるかをどのように見つけることができますか?最初にrootとしてログインしてから再度ログインすると、1つのrcファイルを使用しますか、それとも2つの異なるファイルを使用しますかsu

答え1

FreeBSD のデフォルトのルートシェルは /bin/tcsh です。あなたはする必要がありますいいえroot ユーザーのシェルを変更します。 bashシェルを簡単に使用できます。しかし、自分のユーザーのためにシェルを変更してください。 root権限が必要な場合は、su -cまたはより良い方法であるsudoを使用する習慣が必要です。これにより、rootユーザーのシェルが何であるかをまったく気にしません。ルートのシェルを変更する必要がある場合は、「toor」(ルートリバース)ユーザーを使用してください。それでもuid 0で実行されますが、シェルを変更するのは安全です。

あなたはそれを言及します~/.bashrcが、相対的です。一般的なFreeBSDインストールでは、/home/<username>/.bashrc一般ユーザーと/root/.bashrcrootユーザーの両方に拡張されます。

rootとしてログインしたと書いています。これを行うのではなく、一般ユーザーとしてログインすることをお勧めします。

ログインシェルではなくインタラクティブシェルを起動すると、bashは~/.bashrcファイルが存在する場合にコマンドを読み取り、実行します。これは、ログイン時に.bashrcが呼び出されないことを意味します!対話型シェルで始まった場合にのみ可能です。

あなたは探しているでしょう~/.bash_profile- 参照 https://forums.freebsd.org/threads/2682/

関連情報