Saya mulai dengan bash dan saya menemukan yang berikut:
if test $first -lt $second
then
echo $first is lower than $second
else
if test $first -gt $second
then
echo $first is higher than $second
else
echo $first and $second are equals
fi
fi
Untuk membaca skrip dan menjalankannya, saya tahu apa fungsinya, tetapi bukan untuk apa -lt dan -gt.
Dapatkah seseorang memberi tahu saya apa nama 'alat' semacam itu dan apa yang mereka (-lt dan -gt) lakukan? Terima kasih!
echo
pernyataan dalam kode menjawab pertanyaan Anda.Jawaban:
Ini kependekan dari
less than
dangreater than
. Ini digunakan untuk perbandingan integer di bash. Anda dapat membaca lebih lanjut dengan mengetikman test
:sumber
Anda dapat menemukan definisi
-lt
dan-gt
dalam dokumentasitest
perintah (man test
), atau dalam dokumentasi bash karenatest
merupakan perintah bawaan di bash (seperti di sebagian besar shell lainnya).-lt
dan-gt
merupakan perbandingan numerik (kurang dari [dan tidak sama], lebih besar dari [dan tidak sama]). Ada juga operator yang kurang / lebih besar atau sama-le
dan-ge
, dan operator yang sama dan tidak sama-eq
dan-ne
. Ini adalah operator numerik, sehingga akan ada kesalahan jika kedua belah pihak bukan angka, dan9
dianggap kurang dari10
.Alasan mengapa nama seperti
-lt
digunakan daripada biasanya<
adalah karena karakter<
tersebut akan ditafsirkan sebagai pengalihan. Operator=
dan!=
juga ada, tetapi mereka melakukan perbandingan string:test 00 -eq 0
benar sedangkantest 00 = 0
salah.Beberapa shell, termasuk bash, juga memiliki operator
<
dan>
yang melakukan perbandingan leksikografis string, jaditest 9 \< 10
salah karena9
diurutkan sebelumnya1
(backslash mencegah karakter<
ditafsirkan sebagai operator redirection). Kerang ini juga menawarkan sintaks braket ganda untuk pengujian, misalnya[[ 9 < 10 ]]
(yang bertentangan dengan[ 9 \< 10 ]
), yang tidak dapat memiliki pengalihan di dalam sehingga<
tidak perlu dikutip.sumber
Mereka hanya operator.
Cukup:
gt
danlt
rata - rata> (lebih besar dari) dan <(kurang dari).Anda dapat melihat di sini untuk informasi lebih lanjut tentang operator:
sumber
Ini adalah operator pembanding
-lt = kurang dari
-gt = lebih besar dari
Anda dapat memeriksa halaman ini untuk perincian lebih lanjut:
sumber