私がこう尋ねる理由はhttps://unix.stackexchange.com/a/46856/84749、私が始まったときにscreen
私がやっていたことは「会話型、非ログイン」でした。実際に起こるのは、BASHではなくBourneシェルシステムにログインしていますが、ログインすると~/.profile
正しく実行され、エイリアスが設定されることです。しかし、実行すると、screen
これらのエイリアスは失われて実行されないように見え、~/.profile
他の~/.login
ものは試していません。
私はRaspberry Pi 3でLibreELECを実行しています。
ベストアンサー1
LoginSessionは、呼び出さsh
れるとユーザーのログインセッションを読み取ります~/.profile
。これを実行した後、変数がファイル名に設定され、ファイルが存在する場合、ENV
シェルはそのファイルを使用してログインセッションをさらに初期化します。
ログインシェル以外の対話型シェルは$ENV
ifENV
設定のみを使用し、読み取りは使用しません~/.profile
。
非対話型シェルは両方のファイルを使用しないでください。
通常、1つはENV
次の最後にエクスポートされます~/.profile
。
ENV="$HOME/.shrc" # for example
export ENV # may be done as export ENV="..." too, in most shells.
たとえば、asまたはwithbash
で呼び出されるとsh
どうなりますかbash --posix
?
~/.profile
必要に応じて両方のファイル(および)を使用できますが、$ENV
構成ファイルは必要なプロセスまたは他のユーザーデーモンを起動PATH
するために一度だけ設定する必要がある環境変数を設定およびエクスポートする場所です。fetchmail
などを使用することが予想され、ファイルは設定(GnuPGを使用している場合)、エイリアス設定(エイリアスはサブシェルから継承されないため)などの特定のシェル$ENV
セッション/ TTYの特定を設定する場所です。GPG_TTY
シェルはデフォルトでおよびをksh93
使用しますが、それを特定の方法で解釈します。~/.profile
$ENV
$ENV
もし $ENV
/./
またはで始めると、././
システム全体の設定ファイル(例)は使用されません/etc/ksh.kshrc
。
このファイル名がこのファイル名に設定されていないか、明示的にまたはからインポートされていない限り、このファイルは~/.login
使用されません。sh
ENV
~/.profile
$ENV