私はここ数日、esを使って遊んでいますが、(rcのように.esrc
)ログイン時に起動スクリプト()のみを実行するという癖/機能があります。各対話型セッションでコードを実行する通常の方法は、そのコードを%prompt
関数に配置することです。
もちろん、一度も実行されていない%prompt
場合、機能es -l
はありません。
それで、質問:.profile(または.xprofile、.xsessionなど)のみをソースする、gdmまたは同様のものを介して入ってくるときのログイン環境をどのように設定しますか?私が思いついた最高のものは:
if [ -f "$HOME/.esrc" ]; then
eval "`es -l <<-x
sh <<<'export -p'
x`"
fi
それは...恐ろしいようです。より良いアプローチはありますか?
es
ログインシェルです。はっきりしないと申し訳ありません。しかし、少なくとも私が知る限り、ターミナルが起動する前のXセッションではログインシェルは実行されません。
私は使用しますが
—
cjm 2012
bash
、使用しませんes
。しかし、新しいターミナルウィンドウを開くbash
と、ログインシェルとして実行されます。
少なくともほとんどのX端末では、これはデフォルトで無効になっているオプションです(本来はIMO)。だから、はい、それは回避策ですが、これを一度実行できるときに複数回実行する必要がある理由はありません。
—
james.haggerty 2012
うーん、私はあなたの編集に同意するかわかりません、ジル。なぜこれがesにのみ当てはまると思いますか?(* cshまたはrcまたは...ではありません。)そして、gdmとlightdmを削除します。環境を制御するものだからです。
—
james.haggerty 2012
es
はあなたのログインシェルではありません。設定についてalias es='es -l'
は.bashrc
どうですか?