Может ли кто-нибудь помочь мне вернуть правильное значение из функции сценария bash?Ошибка функции возврата скрипта Bash
Вот моя функция, которая должна возвращать первый (и единственный) строка файла, переданного в качестве аргумента:
LOG_FILE_CREATION_TIME()
{
return_value=`awk 'NR==1' $1`
return return_value
}
И вот мой вызов этой функции в другой сценарий:
LOG_FILE_CREATION_TIME "logfile"
timestamp=$?
echo "Timestamp = $timestamp"
Я всегда получаю некоторые случайные значения с помощью этого кода. Если, например, есть значение 62772031 в "логфайл", я получаю
Timestamp = 255
как выход. Для некоторых других значений в файле я получаю другие случайные значения как возвращаемое значение, никогда не правильное.
Любые идеи?
Знаете ли вы, как я мог сделать это в sh, а не bash. В sh timestamp = $ (LOG_FILE_CREATION_TIME "logfile") не работает. Он говорит «timestamp = $» неожиданно – Eedoh
@Eedoh попробуйте использовать обратные метки, 'timestamp = \' ... \ '' – plundra