[英]Bash memorize value between two script occurrence
我想執行一個簡單的腳本,其中包含一個函數定義為:
#!/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有可能嗎?
應該可以通過創建一個臨時文件或其他方式來實現,但是我想有一種更有效的方法。
如果在相同環境下運行,則var1
將相同。
趕緊跑:
$ source script.sh
$ echo $var1 # verify value
$ source script.sh
只需將參數傳遞給腳本即可控制行為:
#!/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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.