Apakah ada cara untuk menyertakan skrip shell lain dalam skrip shell agar dapat mengakses fungsinya?
Seperti bagaimana di PHP Anda dapat menggunakan include
direktif dengan file PHP lain untuk menjalankan fungsi yang ada di dalamnya hanya dengan memanggil nama fungsi.
source
perintah, pertanyaannya sendiri adalah menanyakan bagaimana menentukan lokasisource
file.Jawaban:
Cukup masukkan ke dalam skrip Anda:
Atau
sumber
C
bahasa. Di sini sumber menjalankan skrip anak ke dalam skrip utama. Bagaimana jika saya hanya ingin memanggil fungsi tertentu dari skrip anak?. script.sh
dengan./script.sh
. Saya kehilangan waktu berjam-jam mencoba mencari tahu apa yang sedang terjadiJawaban di atas benar, tetapi jika menjalankan skrip di folder lain, akan ada beberapa masalah.
Misalnya,
a.sh
danb.sh
berada di folder yang sama, a include b dengan. ./b.sh
menyertakan.Ketika menjalankan script dari folder, misalnya dengan
xx/xx/xx/a.sh
, berkasb.sh
tidak akan ditemukan:./b.sh: No such file or directory
.saya menggunakan
sumber
Ya, gunakan source atau bentuk singkatnya yang hanya
.
:sumber
.
versi bekerjash
sebaik Bash. The "source" hanya berfungsi di Bash.Dalam situasi saya, untuk memasukkan
color.sh
dari direktori yang sama ke dalaminit.sh
, saya harus melakukan sesuatu sebagai berikut.Tidak yakin mengapa
./
dan tidakcolor.sh
secara langsung. Isinyacolor.sh
adalah sebagai berikut.Memanfaatkan
File color.sh
tidak kesalahan tetapi, warna tidak ditampilkan. Saya telah menguji iniUbuntu 18.04
danBash
versinya adalah:GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
sumber
init.sh
(mereka bertepatan jika Anda meluncurkannya dengan./init.sh
di tempat pertama).Sintaksnya adalah
source <file-name>
ex.
source config.sh
script - config.sh
skrip panggilan -
Anda dapat belajar memasukkan skrip bash dalam skrip bash lain di sini .
sumber