อ่านว่าสำหรับการเปรียบเทียบสตริงภายในif
เราจำเป็นต้องใช้วงเล็บสองตาราง =
หนังสือบางเล่มกล่าวว่าการเปรียบเทียบที่สามารถทำได้โดย แต่มันใช้งานได้ดีด้วย==
เช่นกัน
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
มีความแตกต่างระหว่าง=
และ==
ในการเปรียบเทียบหรือไม่
==
ซึ่งเป็นเหตุผลที่คุณควรจะใช้=
(ความเสมอภาค) ด้วย[
และ==
(จับคู่รูปแบบที่มีความหมายที่มีการอ้างทราบ) [[
ด้วย ดูเทียบกับhelp test
help [[
[ foo == foo ] && echo foo
แน่นอนพิมพ์foo
แสดงให้เห็นว่าทำงานร่วมกับ==
[
อย่างไรก็ตามถ้าโดย "สำหรับ" คุณหมายถึง "ตั้งใจที่จะใช้กับ" แล้วฉันมีการคัดค้านน้อย
[[
ในสถานที่แรกที่มีความเข้าใจที่เหมาะสมยิ่งขึ้นของ tokenisation การแยกคำ ฯลฯ ...
=
สำหรับ[
==
[[