Я определил функцию оболочки (назовем это clock), которую я хочу использовать в качестве оболочки для другой команды, аналогичной функции time , например clock ls -R .
Моя функция оболочки выполняет некоторые задачи и затем завершается с помощью exec "$@" .
Мне бы хотелось, чтобы эта функция работала даже со встроенными оболочками, например, clock time ls -R должно выводить результат встроенного time , а не исполняемый файл /usr/bin/time . Но exec всегда заканчивается тем, что запускает команду.
Как я могу заставить мою функцию Bash работать как оболочка, которая также принимает встроенные модули оболочки в качестве аргументов?
Редактировать: я только что узнал, что time - это не встроенная функция Bash, а специальное зарезервированное слово, связанное с конвейерами. Я все еще заинтересован в решении для встроенных модулей, даже если оно не работает со time , но более общее решение было бы еще лучше.
