Meniadakan variabel boolean dan menetapkannya ke variabel baru [duplikat]

Dec 31 2020

Dalam skrip Bash, saya ingin mendefinisikan variabel boolean yuntuk menyimpan nilai yang dinegasikan dari variabel boolean lainnya x. Script berikut,

#!/bin/bash

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

menetapkan variabel yke 1. Bagaimana saya bisa mengubahnya ysehingga dievaluasi falsesebagai gantinya?

Jawaban

3 axiac Dec 31 2020 at 06:32

Bash tidak memiliki konsep nilai boolean untuk variabel. Nilai variabelnya selalu berupa string. Mereka dapat ditangani sebagai angka dalam beberapa konteks tetapi hanya itu yang dapat dilakukannya.

Anda dapat menggunakan 1dan 0sebagai gantinya atau membandingkannya (dengan =atau ==) sebagai string dengan truedan falsedan menganggapnya sebagai boolean. Kode akan lebih mudah dibaca tetapi tetap berupa string :-)