Kabuk bash komut dosyasında çok basit bir karşılaştırma yazıyorum ama bunu asla doğru anlayamıyorum:
sayısı = 0
if [ expr $count/4 = 0 ]; then echo "yes"; else echo "no"; fi
her zaman hayır vererek?
[$ count -lt 4]
Expr programına çağırmak istiyorsanız, aslında bunu çağırmanız gerekir:
if [ $(expr $count/4) = 0 ]; then echo "yes"; else echo "no"; fi
Ancak, bash bunu kendi bünyesinde yapabilir:
if (( $count/4 == 0 )); then echo "yes"; else echo "no"; fi
(())
$
if ((count/4 == 0)); sonra "evet" yankısı; başka yankı "hayır"; fi
komut değiştirmeyi kullanmanız gerekir ( $() eval ifadesini değerlendirmek için veya backticks). Ayrıca, tamsayı karşılaştırması için -eq kullanın. :
$() eval ifadesini değerlendirmek için
eval
-eq
if [ $(expr $count/4) -eq 0 ]; then echo "yes"; else echo "no"; fi
==
olarak yazılırsa [$ (expr $ say/4) == 00]
=
Buna ne dersin
[[ count/4 -eq 0 ]] && echo 'yes' || echo 'no'