source some_file
some_file:
doit ()
{
echo doit $1
}
export TEST=true
Jika saya sumber some_file fungsi "doit" dan variabel TEST tersedia di baris perintah. Tetapi menjalankan skrip ini:
script.sh:
#/bin/sh
echo $TEST
doit test2
Akan mengembalikan nilai TEST, tetapi akan menghasilkan kesalahan tentang fungsi tidak dikenal "doit".
Bisakah saya "mengekspor" fungsinya juga, atau apakah saya harus sumber some_file di script.sh untuk menggunakan fungsi di sana?
#!/bin/sh
juga, tetapi ini adalah praktik yang baik untuk digunakan #!/bin/bash
sehingga Anda menghindari masalah saat shell default tidak bash.
#!/bin/sh
ke#!/bin/bash
dan setelahdoit() {...}
sajaexport -f doit