
Ada beberapa cara untuk memeriksa ketersediaan file di Linux. Perintah “test” dalam skrip bash adalah salah satu pendekatan kunci untuk memeriksa keberadaan file.
Fokus panduan ini adalah membahas keberadaan file di sistem Anda melalui skrip bash:
Cara memeriksa keberadaan file menggunakan skrip bash:
1) Dengan memasukkan nama file di terminal:
Pertama, kita perlu membuat file skrip bash, gunakan perintah yang disebutkan di bawah ini:
$ touch testfile.sh
Nama file yang saya buat adalah “testfile.sh”, ekstensi “.sh” menunjukkan file skrip shell:
Buka “testfile.sh” di editor teks apa pun. Kemudian tulis script tersebut, simpan dengan menekan “save”.
Salah satu caranya adalah mencari file dengan meminta nama file dari user di terminal.
Menggunakan “-f” untuk memeriksa keberadaan file.
Tulis skrip di bawah ini:
#!/bin/bash
echo "Enter your filename"
read newfile1
if [ -f "$newfile1" ]
then
echo "File is found"
else
echo "File is not found"
fi
Kembali ke terminal dan jalankan file untuk mencetak output:
./filename.sh
Pesan izin ditolak akan ditampilkan di terminal.
Jadikan itu dapat dieksekusi dengan menjalankan perintah yang disebutkan di bawah ini:
$chmod +x testfile.sh
Masukkan nama file, dan itu akan mencetak output:
2) Dengan memasukkan nama file saat menulis skrip:
Cara lain untuk menemukan file dengan memberikan nama file saat menulis skrip. Kami memiliki tiga cara untuk memeriksa ketersediaan file. Yang pertama menggunakan perintah “test”, yang kedua menggunakan “jika” dengan ekspresi dalam tanda kurung siku, dan yang ketiga juga dengan “jika” tetapi tanda kurung siku ganda seperti yang ditunjukkan di bawah ini:
- “uji EKSPRESI.”
- “jika [EKSPRESI]”
- “jika [[EKSPRESI]]”
Mari kita pahami dengan contoh:
1) uji [Ekspresi]
Copy skrip yang diberikan dan tempel ke editor, simpan:
#!/bin/bash
filename=file1
if test -f "$filename";
then
echo "$file has found."
else
echo "$file has not been found"
fi
Keluaran:
Karena tidak ada file seperti itu di direktori saya, oleh karena itu kode menampilkan pesan “File tidak ditemukan”.
2) jika [ Ekspresi ]
Copy skrip berikut untuk memeriksa apakah file ada atau tidak:
#!/bin/bash
filename=myfile.txt
if [ -f "$filename" ];
then
echo "$filename has found."
else
echo "filename has not been found"
fi
Keluaran:
3) jika [[ Ekspresi ]]
Copy skrip yang ditulis di bawah ini dan tempel di terminal:
#!/bin/bash
filename=testfile
if [[ -f "$filename" ]];
then
echo "$filename has found."
else
echo "$filename has not been found"
fi
Keluaran:
Untuk memeriksa direktori:
3) Dengan memasukkan nama direktori saat menulis skrip
Menggunakan “-d” untuk memeriksa keberadaan direktori.
Dalam skrip yang disebutkan di bawah ini, “dir11” adalah variabel tempat Anda menyimpan file yang Anda temukan; dalam contoh ini, saya ingin memeriksa nama direktori “testDir” ada atau tidak.
#!/bin/bash
dir11=testDir
if [ -d "$dir11" ]
then
echo "Directory has found"
else
echo "Directory has not been found"
fi
Keluaran:
2) Dengan memasukkan nama file di terminal:
Saat Anda menjalankan perintah di terminal untuk memeriksa apakah direktori itu ada atau tidak, Anda diharuskan memasukkan nama direktori yang Anda cari:
#!/bin/bash
echo "type your directory name."
read Dir1
if [ -d "Dir1" ]
then
echo "directory has been found"
else
echo "directory has not found"
fi
Keluaran:
Memeriksa file tanpa menggunakan pernyataan “jika”:
Perintah “test” dapat dijalankan tanpa pernyataan “if”. Ini hanya akan menampilkan output jika file tersebut ada; lain, tidak akan ada output:
Tulis skrip:
-
test -f myfile.txt && echo "file has been found"
-
[ -f myfile.txt ] && echo "$file has been found."
-
[[ -f myfile.txt ]] && echo "$file has been found."
Keluaran:
Memeriksa direktori tanpa menggunakan pernyataan “jika”:
Gunakan pernyataan yang disebutkan di bawah ini untuk memeriksa direktori ada atau tidak:
-
[[ -d testDir ]] && echo "directory does exist"
-
2) [ -d testDir ] && echo "directory does exist"
Keluaran:
Memeriksa beberapa file/Direktori:
1) Memeriksa beberapa file dengan pernyataan “jika”:
Gunakan tanda “-a” untuk memeriksa keberadaan berbagai file daripada menggunakan pernyataan “jika/lain” yang disarangkan:
#!/bin/bash
if [ -f new_file.txt -a -f newfile.txt ]; then
echo "Both files exist."
fi
Cara lain adalah:
#!/bin/bash
if [[ -f new_file.txt && -f newfile.txt ]]; then
echo "Both files exist."
fi
Keluaran:
2) Memeriksa banyak file tanpa menggunakan pernyataan “jika”:
Gunakan pernyataan berikut untuk memeriksa beberapa file secara bersamaan 1tanpa menggunakan “jika”:
-
[[ -f new_file.txt && -f newfile.txt ]] && echo “Both files exits.”
-
[[ -f new_file.txt && -f newfile.txt ]] && echo “Both files exits.”
Keluaran:
Kesimpulan:
Artikel ini telah menunjukkan cara menggunakan skrip bash untuk memeriksa file atau direktori. Kami menggunakan opsi berbeda untuk memeriksa ketersediaan file. Pertama, kami menggunakan perintah “test” dengan flag yang berbeda. Kemudian kita mempelajari useran “if”, “if-else” bersarang, dan tanpa pernyataan “if” untuk memeriksa file atau direktori. Kami juga melihat cara memeriksa banyak file atau direktori.