Kesalahan menggunakan pernyataan if dengan kondisi -AND dan 2 variabel [duplikat]

Dalam skrip saya saat ini, saya telah mendefinisikan 2 variabel di bagian atas skrip:

$errorcode = 0
$time_errorcode = 0

Skrip selanjutnya terdiri dari 2 loop foreach untuk masing-masing variabel ini. Pada dasarnya jika loop berhasil, maka variabel tetap di 0 dan jika loop gagal, variabel berubah menjadi 1. Sekarang saya mencoba mencari tahu bagaimana saya dapat "keluar" dari skrip dengan benar dengan kode keluar yang saya perlukan berdasarkan apakah atau tidak forloop ini berhasil atau gagal. Cara yang saya lakukan adalah sebagai berikut:

if ($errorcode = 1 -and time_errorcode = 1){exit 0"}
if ($errorcode = 1 -and $time_errorcode = 0){exit 1"}
if ($errorcode = 0 -and $time_errorcode = 1){exit 2"}

Masalah yang saya hadapi adalah PowerShell memberi tahu saya bahwa cuplikan ini: if ($errorcode = 0 -and $time_errorcode = 1) tidak valid. Kesalahan yang saya dapatkan adalah:

Input ke operator penugasan harus berupa objek yang dapat menerima penugasan, seperti variabel atau properti.

Saya kira saya tidak tahu cara membandingkan 2 variabel ini dengan benar untuk mendapatkan kode keluar yang saya inginkan. Apa prosedur terbaik untuk melakukan ini?


person RaptorPete    schedule 12.10.2018    source sumber
comment
Gunakan -eq bukannya =. if (($errorcode -eq 1) -and ($time_errorcode -eq 1))   -  person lit    schedule 12.10.2018
comment
Seperti yang dikatakan @lit, gunakan operator -eq alih-alih =. Di PowerShell, tanda sama dengan adalah operator penugasan sedangkan -eq digunakan hanya untuk kesetaraan. Anda menugaskan ulang variabel Anda ke nilai-nilai tersebut dalam pernyataan Anda.   -  person Peter Kay    schedule 12.10.2018