シェルでコマンドの前に環境変数設定を記述する方法があるらしい
とあるサーバー・クライアントのアプリを作っていた時、Claudeがサーバーの起動コマンドとして下記を提示してきた。
1 2 | TF_CPP_MIN_LOG_LEVEL=3 CUDA_VISIBLE_DEVICES=-1 \ .venv-wsl/bin/uvicorn server:app --host 0.0.0.0 --port 8000 |
見たことない形式。
uvicornコマンドの前にTF_CPP_MIN_LOG_LEVEL=3とかいろいろ書いてある。これ構文エラーにならないん?と思ったらならないらしい。
コマンドの前にFoo=bar形式で環境変数を記述すると、そのコマンドを実行するときだけ一時的にその変数を設定できるらしい。
上記の例でいうと、uvicornの実行時だけTF_CPP_MIN_LOG_LEVEL=3 CUDA_VISIBLE_DEVICES=-1を設定しているということ。
知らんかった。


この記事へのコメントはこちら