GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan Perintah Dirname Linux dalam Skrip Bash

Perintah dirname di Linux mencetak jalur file dengan komponen terakhirnya dihapus. Ini pada dasarnya memberi Anda jalur direktori dari jalur file.

Ini sangat membantu dalam skrip bash di mana Anda ingin mengekstrak jalur direktori dari jalur file yang panjang.

Perintah dirname melengkapi perintah basename. Perintah basename mengekstrak nama file dari path sementara dirname mengekstrak path direktori.

Mari saya tunjukkan kepada Anda dengan beberapa contoh.

Contoh perintah dirname

Perintah dirname sintaks langsung.

dirname OPTION PATH

Menggunakan perintah dirname dengan path absolut dari sebuah file akan memberikan path direktori:

dirname /home/user/data/filename.txt
/home/user/data

Seperti perintah basename, perintah dirname sebenarnya juga bodoh. Itu tidak benar-benar mengenali jalur file. Itu hanya mencari garis miring (/) dan mencetak apa pun yang ada sebelum garis miring terakhir. Pada dasarnya, Anda dapat memberikan string apa pun dengan / di dalamnya dan itu akan berhasil.

Misalnya, saya menggunakan string acak di sini tanpa nama file di dalamnya. Anda dapat melihat bahwa itu masih berfungsi sama dan mengeluarkan string yang menghapus / terakhir dan teks setelahnya.

Jika jalur tidak memiliki garis miring (/) di dalamnya, itu akan menampilkan titik (.) yang menyiratkan direktori saat ini.

Anda dapat menggunakan dirname dengan banyak jalur juga. Ini akan mengembalikan output untuk setiap jalur di baris baru:

Anda dapat menggunakan opsi -z untuk mendapatkan hasil dalam baris yang sama dengan output yang dipisahkan oleh karakter NULL.

Menggunakan dirname dalam skrip bash

Saya menunjukkan beberapa contoh perintah dirname. Mari kita bicara tentang menggunakan dirname dalam skrip bash.

Misalkan Anda memiliki variabel jalur file dan Anda ingin mendapatkan jalur ke direktori yang berisi file tersebut. Ini bisa berupa skrip sederhana:

pathname="/home/dir/data/filename"

result=$(dirname "$pathname")

echo $result

Seperti yang saya sebutkan sebelumnya, perintah dirname dilengkapi dengan perintah basename. Tidak seperti dirname, perintah basename hanya mencetak komponen terakhir dari path.

Saya harap Anda menyukai tutorial ini. Seperti biasa, jangan ragu untuk mengajukan pertanyaan atau memberikan saran di bagian komentar.

Suka artikelnya? Silakan bagikan dan bantu kami berkembang :)


Linux
  1. Menggunakan Bash untuk otomatisasi

  2. Contoh penggunaan perintah dmsetup di Linux

  3. Bagaimana cara menampilkan jalur saat ini di command prompt di linux sh (bukan bash)?

  1. Cara Menghapus Riwayat Bash di Linux

  2. Perintah Tidak Ditemukan di Bash Tetap

  3. perintah linux ditemukan tetapi tidak ditemukan saat menggunakan sudo

  1. Menggunakan Perintah Tidur Linux di Skrip Bash

  2. Menggunakan Perintah Nama Dasar Linux di Skrip Bash

  3. Menggunakan Perintah ripgrep (rg) di Linux