📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 198行目: | 198行目: | ||
# 方法 2 (a) : Bash / Zsh | # 方法 2 (a) : Bash / Zsh | ||
function | function check_venv() | ||
{ | { | ||
if [ -d "venv" ]; then | if [ -d "venv" ]; then | ||
if [ -z "$VIRTUAL_ENV" ]; then | if [ -z "$VIRTUAL_ENV" ]; then | ||
source venv/bin/activate | source venv/bin/activate | ||
elif [ "$VIRTUAL_ENV" != "$PWD/venv" ]; then | elif [ "$VIRTUAL_ENV" != "$PWD/venv" ]; then | ||
deactivate | deactivate | ||
source venv/bin/activate | source venv/bin/activate | ||
fi | fi | ||
elif [ -n "$VIRTUAL_ENV" ]; then | elif [ -n "$VIRTUAL_ENV" ]; then | ||
deactivate | deactivate | ||
fi | fi | ||
} | } | ||
function cd() | |||
{ | |||
builtin cd "$@" | |||
check_venv | |||
} | |||
# プロンプト表示前に毎回チェック | |||
PROMPT_COMMAND="check_venv${PROMPT_COMMAND:+;$PROMPT_COMMAND}" | |||
# シェル起動時にもチェック | |||
check_venv | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
* プロジェクトディレクトリに入った時のみ自動的にアクティベートする方法 | * プロジェクトディレクトリに入った時のみ自動的にアクティベートする方法 | ||
*: ~/.config/fish/config. | *: ~/.config/fish/config.fishファイル および ~/.config/fish/functions/check_venv.fishファイル に記述する。 | ||
<syntaxhighlight lang="fish"> | <syntaxhighlight lang="fish"> | ||
# 方法 2 (b) : Fish | # 方法 2 (b) : Fish | ||
# ~/.config/fish/config.fishファイル | |||
check_venv | |||
# ~/.config/fish/functions/check_venv.fishファイル | |||
function check_venv --on-variable PWD --on-event fish_prompt | |||
if test -d "venv" | if test -d "venv" | ||
if test -z "$VIRTUAL_ENV" | if test -z "$VIRTUAL_ENV" | ||
source venv/bin/activate.fish | source venv/bin/activate.fish | ||
else if test "$VIRTUAL_ENV" != "$PWD/venv" | else if test "$VIRTUAL_ENV" != "$PWD/venv" | ||
deactivate | deactivate | ||
source venv/bin/activate.fish | source venv/bin/activate.fish | ||
end | end | ||
else if test -n "$VIRTUAL_ENV" | else if test -n "$VIRTUAL_ENV" | ||
deactivate | deactivate | ||
end | end | ||
end | |||
function cd | |||
builtin cd $argv | |||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||