Я создал эту функцию doit для выполнения системных команд, сценариев и псевдонимов.
function doit {
doit_cmd=$*
if [[ $cmd_trace = "1" ]] then
echo "+ $doit_cmd"
fi
$doit_cmd
ret=$?
return $ret
}
Функция doit принимает командную строку (включая параметры команды).
Сначала он выводит данную команду и ее параметры на стандартный вывод, затем
выполняет команду. Я выполняю команды в скриптах через функцию doit
отслеживать, какие команды выполняются. Строка "$ doit_cmd" в вышеупомянутом doit
Функция прекрасно работает для системных команд и скриптов, но не работает, когда
псевдоним дается функции doit.
Вот демонстрация проблемы.
$ alias wi = 'whoami'
$ cmd_trace = 1
$ doit whoami
+ whoami
корень
$ doit wi
+ ш
doit [6]: wi: не найдено
Может кто-нибудь помочь мне в этой проблеме? Это ограничение?