Bir boole değişkenini olumsuzlayın ve onu yeni bir değişkene [yineleme] atayın

Dec 31 2020

Bir Bash komut dosyasında, ybaşka bir boole değişkeninin olumsuzlanmış değerini depolamak için bir boole değişkeni tanımlamak istiyorum x. Aşağıdaki komut dosyası,

#!/bin/bash

x=true
y=$(( ! "${x}" ))
echo "${y}"

değişkeni y1 olarak ayarlar. Onun yerine ydeğerlendirmesini sağlamak için nasıl değiştirebilirim false?

Yanıtlar

3 axiac Dec 31 2020 at 06:32

Bash, değişkenler için mantıksal değerler kavramına sahip değildir. Değişkenlerinin değerleri her zaman dizelerdir. Bazı bağlamlarda sayı olarak ele alınabilir ama yapabileceği tek şey bu.

Bunun yerine 1ve kullanabilir 0veya bunları ( =veya ile ==) dizeler olarak trueve ile karşılaştırabilir falseve booleanmış gibi davranabilirsiniz. Kod daha okunabilir olacaktır ama yine de dizelerdir :-)