Mendapatkan "perintah tidak ditemukan" kesalahan saat membandingkan dua string di Bash
Seluruh Naskah saat ini:
#!/bin/sh
clear;
blanko="";
# Dummy-Variablen
variable=Testvariable;
if [[$variable == $blanko]];
then
echo "Nichts da!"
else
echo $variable
fi
dan jika saya masukkan
TestSelect.sh
saya mendapatkan
/usr/bin/TestSelect.sh: line 6: [[Testvariable: command not found
Testvariable
bagaimana saya bisa memperbaiki ini?
50
3
Ini adalah masalah:
Ruang-ruang yang diperlukan di dalam kurung, menggunakannya seperti ini:
Pada catatan terkait, ruang yang diperlukan sekitar
[ ]
juga:Perhatikan bahwa variabel harus tertutup dalam tanda kutip ganda dalam
[ ]
untuk mencegah word membelah dan globbing. Tanda kutip ganda juga membantu ketika salah satu dari variabel-variabel yang dibandingkan tidak diatur - shell akan melemparkan kesalahan sintaks sebaliknya.Lihat posting berikut untuk memahami mengapa kita membutuhkan ruang sekitar
[ ]
:Lain yang berhubungan dengan posting yang berbicara tentang sintaks lainnya unsur-unsur yang perlu ruang serta:
Akhirnya, posting ini berbicara tentang perbedaan antara
[[ ]]
dan[ ]
:Terkait:
Hanya menggunakan
#!/bin/bash
pada tope script jika anda menggunakan bash scripting seperti:if [[ $partisi == "/dev/sda2" ]]; maka
untuk membandingkan string dan menjalankan script dengan./scriptname.sh
ataubash scriptname.sh