(原) Termux 听股票

注意:原创文章,请后转载,转载需注明出处。

没时间看股票,还不能听吗?

让手机每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

相关文章