Baca itu untuk membandingkan string di dalam if
kita perlu menggunakan tanda kurung ganda. Beberapa buku mengatakan bahwa perbandingan dapat dilakukan oleh =
. Tapi itu bekerja dengan baik ==
juga.
#!/bin/bash
a="hello"
b="world"
if [[ $a == $b ]];then
echo "equal"
fi
Apakah ada perbedaan antara =
dan ==
dalam perbandingan?
==
, yang mengapa Anda harus menggunakan =
(kesetaraan) dengan [
, dan ==
(pencocokan pola, dengan semantik yang mengutip-sadar) dengan [[
. Lihat help test
vs help [[
.
[ foo == foo ] && echo foo
tentu saja dicetak foo
, yang menunjukkan bahwa ==
bekerja dengan [
. Namun, jika dengan "adalah untuk" maksud Anda "dimaksudkan untuk digunakan dengan", maka saya memiliki keberatan yang lebih kecil.
[[
yang memiliki pemahaman yang jauh lebih bernuansa tentang tokenisasi, pemisahan kata, dll ...
=
adalah untuk[
.==
adalah untuk[[
.