簡體   English   中英

Bash記憶兩次腳本之間的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM