Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan operator perbandingan dalam dokumen AWSTOE komponen
Anda dapat menggunakan operator perbandingan berikut dengan modul Menegaskan tindakan dan dengan ekspresi bersyarat yang menggunakan. jika Membangun Operator perbandingan dapat beroperasi pada satu nilai, misalnyastringIsEmpty
, atau dapat membandingkan nilai dasar dengan nilai kedua (nilai variabel) untuk menentukan apakah ekspresi kondisional mengevaluasi atau. true
false
Jika perbandingan beroperasi pada dua nilai, nilai kedua dapat berupa variabel rantai.
Saat membandingkan nilai dari jenis yang berbeda, konversi nilai berikut dapat terjadi sebelum perbandingan:
-
Untuk perbandingan numerik, jika nilai variabel adalah string, AWSTOE mengkonversi string ke angka sebelum evaluasi. Jika konversi tidak memungkinkan, perbandingan kembali
false
. Misalnya, jika nilai variabelnya"1.0"
, konversi berfungsi, tetapi jika nilai variabelnya adalah"a10"
konversi gagal. -
Untuk perbandingan string, jika nilai variabel adalah angka, AWSTOE mengubahnya menjadi string sebelum evaluasi.
Bandingkan string
Operator perbandingan berikut bekerja dengan string untuk membandingkan nilai, untuk menguji spasi atau string kosong, atau untuk membandingkan nilai input dengan pola regex. Perbandingan string tidak peka huruf besar/kecil, dan tidak memangkas spasi dari awal atau akhir input string.
Operator perbandingan string
- stringIsEmpty
-
stringIsEmpty
Operator kembalitrue
jika string tertentu tidak mengandung karakter apapun. Misalnya:# Evaluates to true stringIsEmpty: "" # Evaluates to false stringIsEmpty: " " # Evaluates to false stringIsEmpty: "Hello."
- stringIsWhitespace
-
Tes jika string ditentukan untuk hanya
stringIsWhitespace
berisi spasi. Misalnya:# Evaluates to true stringIsWhitespace: " " # Evaluates to false stringIsWhitespace: "" # Evaluates to false stringIsWhitespace: " Hello?"
- StringEquals
-
Tes jika string ditentukan untuk
stringEquals
adalah sama persis untuk string yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true stringEquals: 'Testing, testing...' value: 'Testing, testing...' # Evaluates to false stringEquals: 'Testing, testing...' value: 'Hello again.' # Evaluates to false stringEquals: 'Testing, testing...' value: 'TESTING, TESTING....' # Evaluates to false stringEquals: 'Testing, testing...' value: ' Testing, testing...' # Evaluates to false stringEquals: 'Testing, testing...' value: 'Testing, testing... '
- stringLessThan
-
Tes jika string yang
stringLessThan
ditentukan untuk kurang dari string yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true # This comparison operator isn't case sensitive stringlessThan: 'A' value: 'a' # Evaluates to true - 'a' is less than 'b' stringlessThan: 'b' value: 'a' # Evaluates to true # Numeric strings compare as less than alphabetic strings stringlessThan: 'a' value: '0' # Evaluates to false stringlessThan: '0' value: 'a'
- stringLessThanSama dengan
-
Tes jika string yang
stringLessThanEquals
ditentukan untuk kurang dari atau sama dengan string yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true - 'a' is equal to 'a' stringLessThanEquals: 'a' value: 'a' # Evaluates to true - since the comparison isn't case sensitive, 'a' is equal to 'A' stringLessThanEquals: 'A' value: 'a' # Evaluates to true - 'a' is less than 'b' stringLessThanEquals: 'b' value: 'a' # Evaluates to true - '0' is less than 'a' stringLessThanEquals: 'a' value: '0' # Evaluates to false - 'a' is greater than '0' stringLessThanEquals: '0' value: 'a'
- stringGreaterThan
-
Tes jika string ditentukan untuk
stringGreaterThan
lebih besar dari string yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to false - since the comparison isn't case sensitive, 'A' is equal to 'a' stringGreaterThan: 'a' value: 'A' # Evaluates to true - 'b' is greater than 'a' stringGreaterThan: 'a' value: 'b' # Evaluates to true - 'a' is greater than '0' stringGreaterThan: '0' value: 'a' # Evaluates to false - '0' is less than 'a' stringGreaterThan: 'a' value: '0'
- stringGreaterThanSama dengan
-
Tes jika string yang
stringGreaterThanEquals
ditentukan untuk lebih besar dari atau sama dengan string yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true - 'a' is equal to 'A' stringGreaterThanEquals: 'A' value: 'a' # Evaluates to true - 'b' is greater than 'a' stringGreaterThanEquals: 'a' value: 'b' # Evaluates to true - 'a' is greater than '0' stringGreaterThanEquals: '0' value: 'a' # Evaluates to false - '0' is less than 'a' stringGreaterThanEquals: 'a' value: '0'
- Pola Pertandingan
-
Menguji apakah string yang ditentukan dalam
value
parameter cocok dengan pola regex yang ditentukan untuk.patternMatches
Perbandingan menggunakan paket regexp Golang, yang sesuai dengan sintaks. RE2 Untuk informasi selengkapnya tentang RE2 aturan, lihat repositori google/re2 di. GitHub Contoh berikut menunjukkan kecocokan pola yang mengembalikan
true
:patternMatches: '^[a-z]+$' value: 'ThisIsValue'
Bandingkan angka
Operator perbandingan berikut bekerja dengan angka. Nilai yang diberikan untuk operator ini harus salah satu dari jenis berikut, sesuai dengan spesifikasi YAMAL. Support untuk perbandingan numerik menggunakan operator perbandingan paket besar golang, misalnya: func
-
Bilangan Bulat
-
Float (berdasarkan float64, yang mendukung angka dari -1.7e+308 hingga+1.7e+308)
-
String yang cocok dengan pola regex berikut:
^[-+]?([0-9]+[.])?[0-9]+$
Operator perbandingan angka
- NumberSama
-
Tes jika nomor yang
numberEquals
ditentukan untuk sama dengan angka yang ditentukan dalamvalue
parameter. Semua contoh perbandingan berikut kembali:true
# Values provided as a positive number numberEquals: 1 value: 1 # Comparison value provided as a string numberEquals: '1' value: 1 # Value provided as a string numberEquals: 1 value: '1' # Values provided as floats numberEquals: 5.0 value: 5.0 # Values provided as a negative number numberEquals: -1 value: -1
- numberLessThan
-
Tes jika nomor yang
numberLessThan
ditentukan untuk kurang dari angka yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true numberLessThan: 2 value: 1 # Evaluates to true numberLessThan: 2 value: 1.9 # Evaluates to false numberLessThan: 2 value: '2'
- numberLessThanSama dengan
-
Tes jika angka yang
numberLessThanEquals
ditentukan untuk kurang dari atau sama dengan angka yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true numberLessThanEquals: 2 value: 1 # Evaluates to true numberLessThanEquals: 2 value: 1.9 # Evaluates to true numberLessThanEquals: 2 value: '2' # Evaluates to false numberLessThanEquals: 2 value: 2.1
- numberGreaterThan
-
Tes jika angka yang
numberGreaterThan
ditentukan untuk lebih besar dari angka yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true numberGreaterThan: 1 value: 2 # Evaluates to true numberGreaterThan: 1 value: 1.1 # Evaluates to false numberGreaterThan: 1 value: '1'
- numberGreaterThanSama dengan
-
Tes jika angka yang
numberGreaterThanEquals
ditentukan untuk lebih besar dari atau sama dengan angka yang ditentukan dalamvalue
parameter. Misalnya:# Evaluates to true numberGreaterThanEquals: 1 value: 2 # Evaluates to true numberGreaterThanEquals: 1 value: 1.1 # Evaluates to true numberGreaterThanEquals: 1 value: '1' # Evaluates to false numberGreaterThanEquals: 1 value: 0.8
Periksa file
Operator perbandingan berikut memeriksa hash file atau memeriksa apakah ada file atau folder.
Operator file dan folder
- BinaryExists
-
Menguji apakah aplikasi tersedia di jalur saat ini. Misalnya:
binaryExists: '
foo
'catatan
Pada sistem Linux dan macOS, untuk aplikasi bernama
foo
, ini bekerja sama dengan perintah bash berikut:typefoo
>/dev/null 2>&1, di mana $? == 0 menunjukkan perbandingan yang berhasil.Pada sistem Windows, untuk aplikasi bernama
foo
, ini berfungsi sama dengan PowerShell perintah di & C:\Windows\System32\where.exe /Qfoo
mana $LASTEXITCODE = 0 menunjukkan perbandingan yang berhasil. - FileExists
-
Menguji apakah file ada di jalur yang ditentukan. Anda dapat memberikan jalur absolut atau relatif. Jika lokasi yang Anda tentukan ada dan merupakan file, perbandingan akan dievaluasi.
true
Misalnya:fileExists: '
/path/to/file
'catatan
Pada sistem Linux dan macOS, ini bekerja sama dengan perintah bash berikut:-d
/path/to/file
, di mana $? == 0 menunjukkan perbandingan yang berhasil.Pada sistem Windows, ini bekerja sama dengan PowerShell perintahTest-Path -Path '
C:\path\to\file
' -PathType 'Leaf'. - FolderExists
-
Menguji apakah folder ada di jalur yang ditentukan. Anda dapat memberikan jalur absolut atau relatif. Jika lokasi yang Anda tentukan ada dan merupakan folder, perbandingan akan dievaluasi.
true
Misalnya:folderExists: '
/path/to/folder
'catatan
Pada sistem Linux dan macOS, ini bekerja sama dengan perintah bash berikut:-d
/path/to/folder
, di mana $? == 0 menunjukkan perbandingan yang berhasil.Pada sistem Windows, ini bekerja sama dengan PowerShell perintahTest-Path -Path '
C:\path\to\folder
' -PathType 'Container'. - Berkas MD5 Sama
-
Menguji apakah MD5 hash file sama dengan nilai tertentu. Misalnya:
fileMD5Equals: '
<MD5Hash>
' path: '/path/to/file
' - Berkas SHA1 Sama
-
Menguji apakah SHA1 hash file sama dengan nilai tertentu. Misalnya:
fileSHA1Equals: '
<SHA1Hash>
' path: '/path/to/file
' - Berkas SHA256 Sama
-
Menguji apakah SHA256 hash file sama dengan nilai tertentu. Misalnya:
fileSHA256Equals: '
<SHA256Hash>
' path: '/path/to/file
' - Berkas SHA512 Sama
-
Menguji apakah SHA512 hash file sama dengan nilai tertentu. Misalnya:
fileSHA512Equals: '
<SHA512Hash>
' path: '/path/to/file
'