gpt4 book ai didi

linux - 将全局变量存储在 shell 脚本之外

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:40 24 4
gpt4 key购买 nike

我的 shell 脚本有以下问题:每次我再次执行脚本时,变量 CURRENT 都会再次设置为 0,但是我怎样才能在每次脚本执行后保存 CURRENT?

#!/bin/sh
CURRENT=0
A='Knight rider'
B='Full color mood blobs'
C='Police Lights Single'
D='Police Lights Solid'
E='Rainbow mood'
F='Rainbow swirl'
G='Rainbow swirl fast'
H='Snake'
I='Strobe blue'

case $CURRENT in
0) hyperion-remote --effect "$A"; CURRENT=$(( $CURRENT + 1 ));;
1) hyperion-remote --effect "$B"; CURRENT=$(( $CURRENT + 1 ));;
2) hyperion-remote --effect "$C"; CURRENT=$(( $CURRENT + 1 ));;
3) hyperion-remote --effect "$D"; CURRENT=$(( $CURRENT + 1 ));;
4) hyperion-remote --effect "$E"; CURRENT=$(( $CURRENT + 1 ));;
5) hyperion-remote --effect "$F"; CURRENT=$(( $CURRENT + 1 ));;
6) hyperion-remote --effect "$G"; CURRENT=$(( $CURRENT + 1 ));;
7) hyperion-remote --effect "$H"; CURRENT=$(( $CURRENT + 1 ));;
8) hyperion-remote --effect "$I"; CURRENT=0;;
esac

最佳答案

使用环境变量。

if [ -z "$CURRENT" ]; then
CURRENT=0;
export CURRENT;
else
CURRENT=$CURRENT;
fi

不要忘记在脚本末尾更新 $CURRENT。

关于linux - 将全局变量存储在 shell 脚本之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35570645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com