没时间看股票,还不能听吗?
让手机每5分钟播报一下股票信息,记得戴上耳机。
#!/bin/bash
# 新浪API 获取实时行情数据接口 http://hq.sinajs.cn/list=sz002208,sh601318
# 雪球 https://stock.xueqiu.com/v5/stock/realtime/quotec.json?symbol=SH601003,SH601001
# 腾讯财经 http://qt.gtimg.cn/q=sh601003,sh601001
#
while [ 1 -le 1 ]
do
stock=`curl "http://hq.sinajs.cn/list=sz000725,sz300144,sh600016,sz000651,sh600030,sh000001" -s | awk -F'[,]' '{print $4}'`
info1="京东方A: "`echo $stock | awk '{print $1*10/10}' | bc`
info2="宋城演艺: "`echo $stock | awk '{print $2*10/10}' | bc`
info3="民生银行: "`echo $stock | awk '{print $3*10/10}' | bc`
info4="格力电器: "`echo $stock | awk '{print $4*10/10}' | bc`
info5="中信证券: "`echo $stock | awk '{print $5*10/10}' | bc`
info6="上证指数: "`echo $stock | awk '{print $6*10000/10000}' | bc`
termux-toast "$info1 $info2 $info3 $info4 $info5 $info6"
termux-tts-speak "$info1 。。。 $info2 。。。$info3 。。。 $info4 。。。$info5 。。。$info6"
sleep 5m
done
第二个版本,能够清楚的知道是涨是跌。
可以更进一步的智能化:只需要输入股票代码
#!/bin/bash
# 新浪API 获取实时行情数据接口 http://hq.sinajs.cn/list=sz002208,sh601318
# 雪球 https://stock.xueqiu.com/v5/stock/realtime/quotec.json?symbol=SH601003,SH601001
# 腾讯财经 http://qt.gtimg.cn/q=sh601003,sh601001
#
gpm=("京东方A" "宋城演艺" "民生银行" "格力电器" "中信证券" "上证指数")
num=0
info=""
while [ 1 -le 1 ];do
current_time=$(date "+%H")
current_week=$(date +%u)
if [ $current_time -ge 13 ] && [ $current_time -le 15 ] && [ $current_week -lt 6 ]; then
stock_current=`curl "http://hq.sinajs.cn/list=sz000725,sz300144,sh600016,sz000651,sh600030,sh000001" -s | awk -F '[,]' '{print $4}'`
stock_start=`curl "http://hq.sinajs.cn/list=sz000725,sz300144,sh600016,sz000651,sh600030,sh000001" -s | awk -F '[,]' '{print $3}'`
for i in ${gpm[*]}; do
let num+=1
cmd="echo $stock_current | awk '{print $"$num"}'"
current=`eval $cmd` #执行命令,获取当前价格
cmd="echo $stock_start | awk '{print $"$num"}'"
start=`eval $cmd` #执行命令,获取昨天收盘价
zdj=`echo $current-$start | bc` #涨跌价
zdjs=$(printf "%0.0f" `echo $zdj"*1000"|bc`) #用于涨跌判断,因为需要整数参与判断
zd="未涨跌" #涨/跌
if [ $zdjs -gt 0 ]; then
zd=`printf "涨%.2f" $zdj`
fi
if [ $zdjs -lt 0 ]; then
zdj=`echo $zdj"*-1"|bc` #负数变为正数
zd=`printf "跌%.2f" $zdj`
fi
info="$info。。。$i $(printf "%.2f" $current) $zd"
done
echo $info
termux-toast $info
termux-tts-speak $info
else
echo "不是开盘时间,等待"
fi
sleep 5m
done
第三个版本,你只需要修改股票代码和名称即可
#!/bin/bash
#
# 听股票
# 腾图工作室
# 2021.12.27
#
# 新浪API 获取实时行情数据接口 http://hq.sinajs.cn/list=sz002208,sh601318
# 雪球 https://stock.xueqiu.com/v5/stock/realtime/quotec.json?symbol=SH601003,SH601001
# 腾讯财经 http://qt.gtimg.cn/q=sh601003,sh601001
#
gpm=("京东方A" "宋城演艺" "民生银行" "格力电器" "中信证券" "上证指数")
gpc=("sz000725" "sz300144" "sh600016" "sz000651" "sh600030" "sh000001")
num=0
info=""
#生成股票列表
for i in ${gpc[*]}; do
if [ $num = 0 ]; then
info=$i
else
info="$info,$i"
fi
let num+=1
done
stock_current=`curl "http://hq.sinajs.cn/list=$info" -s | awk -F '[,]' '{print $4}'` #获取股票列表里的当前价
stock_start=`curl "http://hq.sinajs.cn/list=$info" -s | awk -F '[,]' '{print $3}'` #获取股票列表里的头天收盘价
info=""
num=0
for i in ${gpm[*]}; do
let num+=1
cmd="echo $stock_current | awk '{print $"$num"}'"
current=`eval $cmd` #执行命令,获取当前价格
cmd="echo $stock_start | awk '{print $"$num"}'"
start=`eval $cmd` #执行命令,获取昨天收盘价
zdj=`echo $current-$start | bc` #涨跌价
zdjs=$(printf "%0.0f" `echo $zdj"*1000"|bc`) #用于涨跌判断,因为需要整数参与判断
zd="未涨跌" #涨/跌
if [ $zdjs -gt 0 ]; then
zd=`printf "涨%.2f" $zdj`
fi
if [ $zdjs -lt 0 ]; then
zdj=`echo $zdj"*-1"|bc` #负数变为正数
zd=`printf "跌%.2f" $zdj`
fi
info="$info。。。$i $(printf "%.2f" $current) $zd"
done
echo $info
termux-toast $info
termux-tts-speak $info