#设置一个变量
number=0
#计算+1
let number++;
#此时变量 number 等于 1
给个关键词也行,当然如果给出具体的大概的实现过程更好了
我没搜到,网上是一些永久存储 环境变量 的例子
提前谢谢!
9
楼 omph
修改后的脚本,该脚本主要加入了 AWK
。另外谢谢各位的提供的思路,包括调用外部文件、数据库等等。主要是我是一个非常小的测试,所以更倾向于单脚本内完成。如果有更好的脚本修改我会参考。再次感谢各位! 1
AEANWspPmj3FUhDc 2018-02-19 11:40:41 +08:00 2
输出到 文本?
下次执行再读取这个文本? |
2
KeepingNow OP @ivlioioilvi 哦,好想法,我没想到,我先记下,如果没有其他更好的我就用这个。我更希望在该脚本内实现,这样就不用再多一个文件了
|
3
ik 2018-02-19 12:05:50 +08:00 via iPhone
@KeepingNow 文件前加 . 眼不见心不烦😌
|
4
hsuan 2018-02-19 12:32:37 +08:00 via Android
环境变量
|
5
aice114 2018-02-19 12:55:26 +08:00 via Android
把 number 加脚本名后面呗,运行的时候读取,运行完了重新保存一下就是了
|
6
rrfeng 2018-02-19 12:57:21 +08:00 via Android
环境变量也并不能。只能借助外部资源。
|
7
KeepingNow OP @aice114 嗯,我想了想还是调用外部文件吧。
|
8
KeepingNow OP @ik 嗯😊
|
9
omph 2018-02-19 13:52:31 +08:00 2
改自己
``` number=5 let number++ cd "$(dirname "$0")" awk '/^number=[0-9]/{gsub("[0-9]+",num)} {print >file}' num=$number file="$0" "$0" ``` |
10
msg7086 2018-02-19 15:22:56 +08:00
主要原因是程序退出以后环境变量就会被销毁了。
所以只能保存到外部存储中,简单点就是文件,复杂点可以读写 redis 等数据库。 |
11
KeepingNow OP @omph 非常感谢!已发送十枚 V2EX 铜币作为感谢,请查收。
|
12
KeepingNow OP @msg7086 谢谢,这是一个新思路。
|
13
pkookp8 2018-02-20 02:49:37 +08:00 via Android
给个思路
先判断存不存在,不存在付初值并 source 到环境变量,存在直接拿来用 |
14
pkookp8 2018-02-20 02:52:06 +08:00 via Android
@pkookp8 没注意不能用环境变量,那就读写文件吧,格式用 key=val 的话,加载的时候 source 一下就行,也很方便
|
15
assrt 2018-02-20 04:43:14 +08:00 1
9 楼的方法保险一点可以用注释来做锚点,只匹配语句的话要非常注意写正则
比如 ``` number=5 #SAVE_NUMBER let number++ sed -i "0,/.*#SAVE_NUMBER/s/.*#SAVE_NUMBER/number=$number #SAVE_NUMBER/" $0 ``` macOS 请用 gsed |
16
KeepingNow OP @assrt 感谢,已发送十枚 V2EX 铜币作为感谢,请查收,sed,新思路。我觉得需要花点时间学学 AWK 和 SED 了。
|