ฉันมีสคริปต์ทุบตีที่มีฟังก์ชั่นสองทางแยกทั้งหมดเขียนลงในบันทึก เมื่อทั้งคู่เสร็จสิ้นแล้วฉันต้องการลบบันทึกนี้
ปัญหาที่ฉันมีอยู่processFinishCountก็คือมันไม่เคยมากกว่าหนึ่ง กระบวนการที่แยกแต่ละอันจะจับสำเนาของตัวแปรที่ใช้ร่วมกันและการเพิ่มขึ้นของสำเนานั้นเมื่อเรียกใช้delete_logหรือไม่
ฉันจะแน่ใจได้อย่างไรว่าตัวแปรจะเพิ่มขึ้นอย่างเหมาะสม?
processFinishCount=0
delete_log()
{
    let processFinishCount++
    if ["$processFinishCount" == 2]; then
        rm log.txt
    else
        echo `$processFinishCount task(s) finished" >> log.txt
    fi
}
function_one()
{
    ...
    delete_log
}
function_two()
{
    ...
    delete_log
}
function_one &
function_two &
                  ตัวแปรคือ processFinishCount แต่คำสั่ง if มี processCount
                
                
                  
                    —
                    jaychris 
                    
                  
                
              
                  ตัวแปรโกลบอลยังเป็น 0 เมื่อเกิดส้อมขึ้น ดังนั้นกระบวนการที่แยกกันจะเริ่มต้นด้วย 0 และจะเพิ่มขึ้นเป็น 1 ทางออกหนึ่งคือการนับในไฟล์หรือมีไฟล์สถานะสำหรับแต่ละกระบวนการแยกและทดสอบการมีอยู่ของมัน
                
                
                  
                    —
                    jaychris 
                    
                  
                
              
                  @ Jaychris ความแตกต่างของตัวแปรเป็นเพียงการพิมพ์ผิด <br/> นั่นคือสิ่งที่ฉันได้สรุปแล้วเกิดขึ้น ไฟล์ภายนอกเป็นโซลูชันที่ถูกต้อง ฉันจะลองดูเมื่อฉันกลับไปทำงานในวันจันทร์
                
                
                  
                    —
                    James Webster