Існують деякі проблеми з імпортом функцій з іншого файлу.
По-перше : Вам не потрібно робити цей файл виконуваним. Краще не робити цього! просто додати
. file
імпортувати всі функції. І всі вони будуть наче визначені у вашому файлі.
По-друге : Ви можете визначити функцію з однойменною назвою. Це буде переписано. Це погано. Ви можете заявити так
declare -f new_function_name=old_function_name
і тільки після цього робити імпорт. Таким чином, ви можете назвати стару функцію новим іменем.
По-третє : Ви можете імпортувати лише повний список функцій, визначених у файлі. Якщо деякі не потрібні, ви можете скасувати їх. Але якщо ви перезапишете свої функції після зняття, вони будуть втрачені. Але якщо ви встановите посилання на нього, як описано вище, ви можете відновити його після скасування з тим самим іменем.
НарештіЗагальна процедура імпорту небезпечна і не така проста. Будь обережний! Ви можете написати сценарій, щоб зробити це більш легким та безпечним. Якщо ви використовуєте лише частину функцій (не всі), краще розділіть їх на різні файли. На жаль, ця техніка не спрацювала добре. Наприклад, у python та деяких інших мовах скриптів це легко та безпечно. Можливе часткове імпортування лише необхідних функцій із власними іменами. Ми всі хочемо, щоб у наступних версіях куща був виконаний той самий функціонал. Але тепер ми повинні написати багато додаткової тріски, щоб робити те, що ти хочеш.