stock-ai-agent/scripts/stock.sh
2026-02-20 12:47:59 +08:00

85 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# 股票分析快捷脚本
#
# 用法:
# ./scripts/stock.sh # 分析配置的所有股票(美股+港股)
# ./scripts/stock.sh us # 只分析美股
# ./scripts/stock.sh hk # 只分析港股
# ./scripts/stock.sh AAPL # 分析指定股票
# ./scripts/stock.sh AAPL TSLA # 分析多个指定股票
cd "$(dirname "$0")/.." || exit 1
if [ $# -eq 0 ]; then
# 无参数,分析配置的所有股票(美股+港股)
echo "📊 分析配置的所有股票(美股+港股,将发送通知)..."
# 直接从 .env 文件读取股票代码
if [ -f .env ]; then
# 使用 grep 提取美股和港股代码
US_STOCKS=$(grep "^STOCK_SYMBOLS_US=" .env | cut -d'=' -f2)
HK_STOCKS=$(grep "^STOCK_SYMBOLS_HK=" .env | cut -d'=' -f2)
# 合并股票列表
if [ -z "$US_STOCKS" ] && [ -z "$HK_STOCKS" ]; then
echo "❌ 无法从 .env 文件读取股票列表"
exit 1
fi
# 将逗号分隔转换为空格分隔
STOCKS_SPACE=$(echo "$US_STOCKS,$HK_STOCKS" | tr ',' ' ')
echo "📋 股票列表: $STOCKS_SPACE"
# 直接传递给 test_stock.py
python3 scripts/test_stock.py $STOCKS_SPACE
else
echo "❌ .env 文件不存在"
exit 1
fi
elif [ "$1" = "us" ]; then
# 只分析美股
echo "📊 分析美股(将发送通知)..."
if [ -f .env ]; then
US_STOCKS=$(grep "^STOCK_SYMBOLS_US=" .env | cut -d'=' -f2)
if [ -z "$US_STOCKS" ]; then
echo "❌ 无法从 .env 文件读取美股列表"
exit 1
fi
STOCKS_SPACE=$(echo "$US_STOCKS" | tr ',' ' ')
echo "📋 美股列表: $STOCKS_SPACE"
python3 scripts/test_stock.py $STOCKS_SPACE
else
echo "❌ .env 文件不存在"
exit 1
fi
elif [ "$1" = "hk" ]; then
# 只分析港股
echo "📊 分析港股(将发送通知)..."
if [ -f .env ]; then
HK_STOCKS=$(grep "^STOCK_SYMBOLS_HK=" .env | cut -d'=' -f2)
if [ -z "$HK_STOCKS" ]; then
echo "❌ 无法从 .env 文件读取港股列表"
exit 1
fi
STOCKS_SPACE=$(echo "$HK_STOCKS" | tr ',' ' ')
echo "📋 港股列表: $STOCKS_SPACE"
python3 scripts/test_stock.py $STOCKS_SPACE
else
echo "❌ .env 文件不存在"
exit 1
fi
else
# 分析指定的股票 - 使用引号正确传递参数
echo "📊 分析股票: $*(将发送通知)"
python3 scripts/test_stock.py "$@"
fi