Bash имеет (встроенную) команду builtin
, который делает точно, в чем Вы нуждаетесь. Замена cd
с builtin cd
в Вашей функции зафиксирует рекурсию.
Я не адвокат, но я думаю, что ответ да. Из GNU Генеральная публичная лицензия
- транспортировка вербатических копий.
Вы можете передать Verbatim копии исходного кода программы, поскольку вы получаете его, в любой среде, при условии, что вы заметно и должным образом публикуете на каждую копию соответствующего уведомления об авторских правах; сохранить все уведомления, заявляющие о том, что эта лицензия и любые нерешительные условия, добавленные в соответствии с разделом 7, применяются к коду; сохранить все уведомления об отсутствии какой-либо гарантии; И дать всем получателям копию этой лицензии наряду с программой.