Cara Memeriksa apakah File atau Direktori Ada di Skrip Bash Shell

Memeriksa apakah ada file atau direktori dari skrip Bash

Bash digunakan untuk mengotomatisasi perintah yang dijalankan secara teratur di Linux. Perintah yang dimaksudkan untuk operasi pada file/direktori cukup sering digunakan, dan biasanya, sebelum kita menjalankan perintah tersebut, kita perlu memeriksa apakah file atau direktori tertentu ada. Mari kita lihat bagaimana melakukan pemeriksaan ini.

Sintaks dan Penggunaan

File

Untuk memeriksa apakah ada file, gunakan sintaks berikut:

[ -F  ]

Ekspresi [ -F ] mengembalikan 0, yaitu, sukses jika memang ada, dan jika tidak ada, ia mengembalikan status bukan nol. Biasanya, ini digunakan sebagai kondisi di jika penyataan.

jika [ -f ] maka fi

Untuk meniadakan nilai yang dikembalikan, cukup mendahului -F dengan operator negasi (!).

jika [ ! -f ] lalu fi

Dalam hal ini, kondisinya akan terpenuhi jika file tidak ada, karena status bukan nol yang dikembalikan (salah) akan dinegasikan dan dianggap sebagai 0 (benar).

Perhatikan bahwa jika file yang akan diperiksa tidak ada di direktori saat ini dan ada di beberapa direktori lain, path lengkap file harus disebutkan, bukan hanya nama file.

Direktori

Sintaks yang sama seperti yang digunakan untuk memeriksa file digunakan untuk memeriksa direktori.

[ -D  ]

Mirip dengan pernyataan untuk file, pernyataan ini mengembalikan 0, yaitu, sukses, jika direktori ada, dan bukan nol, yaitu status kegagalan dikembalikan jika tidak ada. Ini juga biasa digunakan dalam jika kondisi pernyataan.

jika [ -d ] maka fi

Untuk meniadakan status yang dikembalikan, awali -D dengan operator negasi (!).

jika [ ! -d ] lalu fi

Kondisi akan memenuhi (status 0) dalam hal ini jika direktori tidak ada, dan akan gagal (status bukan nol) jika direktori tersebut ada.

Seperti disebutkan sebelumnya untuk file, jika direktori yang akan diperiksa ada di lokasi lain dan bukan direktori saat ini, seluruh jalur direktori harus dimasukkan, bukan hanya nama direktori.

Sintaks tanda kurung ( [...] ) yang digunakan di sini sebenarnya adalah perintah Linux yang disebut tes. Pilihannya -F dan -D adalah fitur dari perintah ini. Untuk informasi lebih lanjut, lihat halaman manual pengujian ( tes pria ).

Periksa dari Bash Script

Dalam contoh di atas, kami telah menggunakan sintaks langsung di terminal. Shell setiap kali menemukan loop, atau pernyataan bersyarat (jika dalam kasus kami), itu melanjutkan prompt dan memungkinkan pengguna memasuki blok lanjutkan.

Sintaks yang sama dapat digunakan dari dalam skrip Bash.

Itu #!/bin/bash di awal menentukan penerjemah yang akan digunakan saat file dieksekusi. Meskipun Bash adalah shell yang paling umum digunakan saat ini, beberapa pengguna lebih memilih shell seperti zsh, yang harus ditentukan sebagai pengganti bash di awal file ini.

Untuk memberikan izin eksekusi untuk file ini, jalankan:

chmod +x test.sh

Akhirnya, untuk mengeksekusi file, Lari:

./test.sh