当前位置: 技术问答>linux和unix
shell保存变量到当前文件怎么写
来源: 互联网 发布时间:2017-05-28
本文导语: 本帖最后由 staticabc 于 2014-09-04 11:38:18 编辑 我的sh脚本test.sh: flag=Y if [ ${flag} = Y ] then #代码段1,省略 flag=N export flag else #代码段2,省略 fi 我想在第一次执行时执行代码段1,以后再执行时执行代码段2,...
flag=Y
if [ ${flag} = Y ]
then
#代码段1,省略
flag=N
export flag
else
#代码段2,省略
fi
我想在第一次执行时执行代码段1,以后再执行时执行代码段2,现在的问题就是flag这个变量的值改变之后保存不下来,执行完之后还是Y,以前脚本写的少,求教
|
echo flag=${flag} > /home/sh/flag.sh
|
人家说放到外部文件里,你怎么直接放进去了,需要处理的
两个文件,一个var.txt 用来存放flag的值,比如var1或者 Y
一个test.sh
flag=cat var.txt
if [ ${flag} = Y ]
then
flag=N
echo ${flag}>var.txt
else
echo "else code"
fi
两个文件,一个var.txt 用来存放flag的值,比如var1或者 Y
一个test.sh
flag=cat var.txt
if [ ${flag} = Y ]
then
flag=N
echo ${flag}>var.txt
else
echo "else code"
fi
|
1.将Y添加到环境变量(不推荐)
2.调用脚本时传参给Y(调用时有点麻烦)
3.将这个变量写到一个文件里吧,下次调用 的时候再读取
2.调用脚本时传参给Y(调用时有点麻烦)
3.将这个变量写到一个文件里吧,下次调用 的时候再读取
|
如何定义你的“第一次执行”呢,从开机开始算起还是用户登录后开始算起?
猜测你要的情况,最好是将某个变量存在文件或环境变量中,当这个变量等于空,执行代码段1,同时设置该变量值,那么下次执行时,就能进入你的else了。
楼上的思路就可以实现。试试吧
猜测你要的情况,最好是将某个变量存在文件或环境变量中,当这个变量等于空,执行代码段1,同时设置该变量值,那么下次执行时,就能进入你的else了。
楼上的思路就可以实现。试试吧