Jika skrip hanya mendefinisikan fungsi dan tidak melakukan apa pun, Anda dapat mengeksekusi skrip terlebih dahulu dalam konteks shell saat ini menggunakan source
atau .
perintah dan kemudian cukup panggil fungsinya. Lihat help source
untuk informasi lebih lanjut.
Perintah berikut pertama-tama mendaftarkan fungsi dalam konteks, lalu memanggilnya:
. ./myScript.sh && function_name
Yah, sementara jawaban lainnya benar - Anda pasti dapat melakukan sesuatu yang lain:jika Anda memiliki akses ke skrip bash, Anda dapat memodifikasinya, dan cukup letakkan di akhir parameter khusus "[email protected]"
- yang akan diperluas ke argumen dari baris perintah yang Anda tentukan, dan karena "sendiri", shell akan mencoba memanggilnya kata demi kata; dan di sini Anda bisa menentukan nama fungsi sebagai argumen pertama. Contoh:
$ cat test.sh
testA() {
echo "TEST A $1";
}
testB() {
echo "TEST B $2";
}
"[email protected]"
$ bash test.sh
$ bash test.sh testA
TEST A
$ bash test.sh testA arg1 arg2
TEST A arg1
$ bash test.sh testB arg1 arg2
TEST B arg2
Untuk memoles, pertama-tama Anda dapat memverifikasi bahwa perintah itu ada dan merupakan fungsi:
# Check if the function exists (bash specific)
if declare -f "$1" > /dev/null
then
# call arguments verbatim
"[email protected]"
else
# Show a helpful error
echo "'$1' is not a known function name" >&2
exit 1
fi