Еще один способ сделать это существует.
При использовании реальных Korn Shell (не уверенный в pdksh), можно было динамично загрузить функции.
Создайте файл, названный "основным" где-нибудь в ПУТИ:
#!/bin/ksh
echo "Main ksh script"
echo "Calling georgi, probably in another file"
georgi $1 $2 $3
echo "Back from georgi"
franco $1 $2 $3
Создайте файл, названный "georgi" где-то в другом месте, скажите /tmp
:
function georgi {
echo "Enter function georgi $1 $2 $3"
}
function franco {
echo "Enter function franco $1 $2 $3"
}
Make-файл основной исполняемый файл. Make-файл "georgi" не execuable. Экспортируйте переменную под названием FPATH:
export FPATH=/tmp
Петляйте "основные":
% ./main aaa bbb c123
Main ksh script
Calling georgi, probably in another file
Enter function georgi aaa bbb c123
Back from georgi
Enter function franco aaa bbb c123
Это - вид неясных, и необходимо добраться, вещи точно исправляют, как именование автоматически загруженного файла то же как первая функция в нем, что Вы звоните, и не маркировка автоматически загруженного файла исполняемый файл, если это находится в ПУТИ и FPATH.
Используйте libfaketime:
FTPL прерывает различные системные вызовы который использование программ получить текущую дату и время. Это может затем сообщить о фальсифицируемых датах и времени (как указано Вами, пользователем) к этим программам. Это означает, что можно изменить системное время, которое программа видит, не имея необходимость изменять время в масштабе всей системы.
LD_PRELOAD=/Users/rudolph9/Developer/libfaketime/src/libfaketime.dylib.1 FAKETIME="@2012-01-01 20:20:00" date Mon Jan 30 08:21:17 CST 2012
Я не получаю желаемую дату – rudolph9 30.01.2012, 16:24