Cara Mencari Direktori Tempat Skrip Bash Terletak dari dalam Skrip

Cara Mencari Direktori Tempat Skrip Bash Terletak Dari Dalam Skrip



Apabila bekerja dengan skrip bash, adalah berguna untuk mengetahui lokasi skrip. Ini boleh membantu terutamanya apabila bekerja dengan laluan fail relatif, atau semasa cuba melaksanakan skrip atau arahan lain dari dalam skrip. Dalam artikel ini, kita akan melihat beberapa cara berbeza untuk menentukan direktori skrip bash dari dalam skrip itu sendiri.

Cara Mencari Direktori Tempat Skrip Bash Terletak dari dalam Skrip

Semasa skrip bash anda mungkin memerlukan lokasi skrip untuk mengautomasikan pelbagai tugas. Terdapat dua jenis laluan dalam Linux:

  • Laluan Kerabat: Relative ialah direktori kerja semasa.
  • Laluan Mutlak: Ini adalah laluan lengkap direktori dan fail.

Salah satu cara yang paling biasa untuk menentukan lokasi skrip bash ialah menggunakan pwd perintah. The pwd perintah ( cetak direktori kerja) akan menunjukkan direktori semasa.







Jadi, dalam banyak situasi hanya menggunakan pwd arahan tidak berfungsi kerana ia hanya memberikan laluan direktori yang sedang berfungsi.



Sebagai contoh, jika skrip berada dalam Muat turun direktori dan sedang dilaksanakan daripada Desktop maka output akan mengandungi /home/usr/Desktop bukan lokasi fail skrip bash itu /home/usr/Muat turun .



Tutorial ini adalah tentang mendapatkan laluan direktori di mana fail skrip bash terletak dari dalam skrip.





Cara Mendapatkan Laluan Direktori Tempat Fail Skrip Bash Terletak

Satu lagi cara untuk menentukan direktori skrip Bash ialah menggunakan diname perintah. The diname arahan mengambil laluan fail sebagai hujah dan mengembalikan bahagian direktori laluan.

Untuk menggunakan diname arahan untuk menentukan direktori skrip, anda akan memanggil arahan dengan laluan sehingga komponen bukan slash terakhir kepada skrip sebagai hujah.



Untuk butiran lanjut tentang diname laksanakan arahan berikut dalam terminal:

$ lelaki diname

Sahaja diname tidak akan berfungsi, kita memerlukan arahan lain iaitu pautan baca . The pautan baca cetakan arahan menyelesaikan pautan simbolik. Dapatkan maklumat lanjut tentang arahan ini dengan menjalankan:

$ lelaki pautan baca

sekarang, buat skrip :

$ sudo nano myScript.sh

Dan taip:

#!/bin/bash

bergema 'Laluan skrip bash ialah $(nama palsu -- '$(pautan baca -f – '$0') ' ; ) ';

Untuk menjalankan skrip gunakan:

$ bash myScript.sh

Mari tukar direktori dan lihat apakah outputnya:

Catatan: Dalam satu kes, skrip di atas tidak akan berfungsi jika fail itu diperoleh daripada dilaksanakan kerana ia dapat dilihat dalam output berikut:

Outputnya ialah /home/sam/Desktop sedangkan fail skrip terdapat dalam /home/sam direktori.

Kesimpulan

Kesimpulannya, terdapat pelbagai cara untuk menentukan direktori skrip bash dari dalam skrip itu sendiri. The diname bersama dengan pautan baca utiliti boleh digunakan untuk menentukan direktori skrip. Walau bagaimanapun, hanya menggunakan pwd arahan tidak berfungsi kerana ia hanya memberikan direktori yang sedang berfungsi.