เพียงแค่พยายามเรียนรู้การทุบตีสคริปต์เล็กน้อย รุ่นทุบตีเก่าของฉัน:
Bash version 3.2.53(1)-release...
ฉันได้อัปเดตทุบตีบน mac os x yosemite ด้วย homebrew:
brew update
brew install bash
จากนั้นในคุณสมบัติขั้วฉันได้เปลี่ยนเส้นทางมาตรฐานเปลือกจาก/bin/bash
ไป/usr/local/bin/bash
(ตามที่ผมเข้าใจนี่คือที่ homebrew ติดตั้งทุบตีปรับปรุง)
จากนั้นฉันตรวจสอบผลลัพธ์อีกครั้ง (และดูเหมือนว่าจะดีทั้งหมด):
$ echo $BASH_VERSION
Bash version 4.0.33(0)-release...
แต่เมื่อฉันพยายามเขียนสคริปต์ทุบตีง่าย:
#!/bin/bash
echo "Bash version ${BASH_VERSION}..."
for i in {0..10..2}
do
echo "Welcome $i times"
done
ผลลัพธ์คือ:
Bash version 3.2.53(1)-release...
Welcome {0..10..2} times
แทน:
Bash version 4.0.33(0)-release...
Welcome 0 times
Welcome 2 times
Welcome 4 times
Welcome 6 times
Welcome 8 times
Welcome 10 times
ทำไมเวอร์ชั่น Bash เปลี่ยนกลับเป็นเก่าเมื่อฉันพยายามรันสคริปต์ในเชลล์เดียวกัน ??? นี่แค่ทำให้ฉันประหลาดใจ! ได้โปรดอธิบายให้ฉันรู้ว่าปัญหาของฉันคืออะไร))