gpt4 book ai didi

linux - bash 脚本中的增量数(变量)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:06 25 4
gpt4 key购买 nike

我需要在 bash 脚本的变量中增加一个数字。但脚本完成后,变量应使用新编号导出,并在下次脚本运行时可用。

IN MY SHELL

set x=0

SCRIPT

" If something is true.. do"
export x=$(($x+1)) //increment variable and save it for next time
if [ $x -eq 3 ];then
echo test
fi
exit

最佳答案

你不能在两个进程之间持久化内存中的变量;该值需要存储在某个地方并在下次启动时读取。最简单的方法是使用文件。 (支持“通用”变量的 fish shell 使用一个单独的进程,该进程始终运行以在新 shell 启动和退出时与它们通信。但即使是这个“主”进程也需要使用一个文件来 退出时保存值。)

# Ensure that the value of x is written to the file
# no matter *how* the script exits (short of kill -9, anyway)
x_file=/some/special/file/somewhere
trap 'printf '%s\n' "$x" > "$x_file"' EXIT

x=$(cat "$x_file") # bash can read the whole file with x=$(< "$x_file")
# For a simple number, you only need to run one line
# read x < "$x_file"
x=$((x+1))
if [ "$x" -eq 3 ]; then
echo test
fi
exit

关于linux - bash 脚本中的增量数(变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41764797/

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