私は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/.bashrc
rootユーザーの両方に拡張されます。
rootとしてログインしたと書いています。これを行うのではなく、一般ユーザーとしてログインすることをお勧めします。
ログインシェルではなくインタラクティブシェルを起動すると、bashは~/.bashrc
ファイルが存在する場合にコマンドを読み取り、実行します。これは、ログイン時に.bashrcが呼び出されないことを意味します!対話型シェルで始まった場合にのみ可能です。
あなたは探しているでしょう~/.bash_profile
- 参照 https://forums.freebsd.org/threads/2682/