我想执行一个包含函数定义为:
的简单脚本#!/bin/bash
function procedure()
{
if [ var1 -eq 0 ]; then
... do some stuff
var1=1
fi
do some other things ..
}
procedure
第一次出现:./ script.sh 我想执行if条件中定义的指令。
第二次出现:./ script.sh 我想只执行在if条件之外定义的指令,但var1 = 1将不会被记忆,不是吗?
bash有可能吗?
应该可以通过创建一个临时文件或其他东西,但我想有一种更有效的方法。
答案 0 :(得分:0)
如果您使用相同的环境运行var1
将是相同的。
跑步:
$ source script.sh
$ echo $var1 # verify value
$ source script.sh
答案 1 :(得分:0)
只需将参数传递给脚本即可控制行为:
#!/bin/bash
procedure() {
if [[ "$1" -eq 0 ]]; then
... do some stuff
var1=1
fi
do some other things ..
}
procedure "$1"
并将其用作:
./script.sh 1
./script.sh 0