0

でいくつかの関数を定義してきましたが.bashrc、起動時間があまり長くありません。

.bash_profile関数定義を に移動してエクスポートし、ログイン時に一度だけ読み取られるようにする簡単な解決策を試しました。これらの機能は決して変わらないため、これは理にかなっています。

これは tty ログインでは機能しますが、グラフィカル環境では機能しません。私のシステムは Ubuntu 12.10 です。私はグラフィカルセッションのためにそれをグーグルで検索しました. .bash_profileis .profile. 問題は、それが同等ではないことです:

export -f my_function

はによって読み取られ 、 では読み取れ.bash_profileないため.profile、に対しては機能しますが、 に対しては機能しません。.profile/bin/sh/bin/bash

したがって、私の問題を解決するための最後のステップは、次のいずれかになります。

  1. 関数のエクスポートを移動~/.profile-that-is-read-by-bash
  2. 読ま/bin/bashせる~/.profile

これに関するアイデアはありますか?

4

1 に答える 1

0

GUI セッションはおそらくログイン シェルではなく、ttyインタラクティブなログイン シェルのみが ~/.bash_profile または ~/.profile を読み取ります。~/.bash_profile が存在しない場合にのみ、Bash は ~/.profile (デフォルト) を読み取ります。

関数のエクスポートがオーバーヘッドになる可能性があります。毎回これらすべての機能が本当に必要ですか? sourceそれらを他のファイルに入れて、必要なときにそれらを入れてみませんか?

于 2012-12-11T10:35:18.937 に答える