web-dev-qa-db-ja.com

.shスクリプトの実行後にターミナルセッションをアクティブに保つ方法

次のような非常に単純なrun.shスクリプトがあります。

#!/bin/sh
echo "Hello, let's start!"
cd /Users/c/Dev/App/Code/
. venv/bin/activate
cd Backend
export FLASK_APP=app.py
export FLASK_DEBUG=1
export CONFIG=Local
flask run

実行すると、次の結果が得られます。

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

代わりに、スクリプトを手動で入力する場合と同じようにアクティブセッションを取得したいので、virtualenvをアクティブにして、pip installを実行し、Flaskの出力を確認します。

どうやってやるの?

3
Costantin

スクリプトの後にアクティブなセッションが必要な場合は、実行せずにソースを指定します。

$ source ./run.sh
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

$

スクリプトで新しいbash/shセッションを開始して、そこに環境変数を追加することもできます。しかし、それは事態を複雑にします...

3
Simon Sudler