-d adalah operator untuk menguji apakah direktori yang diberikan ada atau tidak.
Misalnya, saya hanya memiliki direktori bernama /home/sureshkumar/test/.
Variabel direktori berisi "/home/sureshkumar/test/"
if [ -d $directory ]
Kondisi ini benar hanya jika direktori tersebut ada. Dalam contoh kita, direktori ada sehingga kondisi ini benar.
Saya mengubah variabel direktori menjadi "/home/a/b/". Direktori ini tidak ada.
if [ -d $directory ]
Sekarang kondisi ini salah. Jika saya meletakkan ! di depan jika direktori tidak ada, maka kondisi if benar. Jika direktori memang ada maka if [ ! -d $directory ] kondisi salah.
Pengoperasian ! operator adalah jika kondisinya benar, maka dikatakan kondisinya salah. Jika kondisinya salah maka dikatakan kondisinya benar. Ini adalah karya! operator.
if [ ! -d $directory ]
Kondisi ini benar hanya jika direktori $ tidak ada. Jika direktori tersebut ada, ia mengembalikan false.
Tanda kurung adalah tes yang dapat dieksekusi, tanda seru adalah negasi, dan -d opsi memeriksa apakah variabel $directory adalah sebuah direktori.
Dari man test:
-d FILE
FILE exists and is a directory
! EXPRESSION
EXPRESSION is false
Hasilnya adalah pernyataan if yang mengatakan "if $directory bukan direktori"