Я столкнулся с странной ситуацией. Я нахожусь на RHEL 6.3. Я пытаюсь использовать встроенную команду «читать», чтобы читать строки в файле в массиве и обрабатывать его.встроенные флажки командной строки linux
В моем сценарии, я использую
while IFS=" " read -r -a appInfo
do
echo "4 ${appInfo[0]}"
echo "4 ${appInfo[1]}"
echo "4 ${appInfo[2]}"
echo "4 line *{appInfo[@]}"
currentApp="${appInfo[*]}"
.....
done < details.txt
Это работает нормально, когда я выполнить скрипт из командной строки. Команда чтения показывает ниже данные
read: usage: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
Если я read --version
в командной строке, я получаю
Commandline версия чтения (AT & T Research) 2006-12-19
Но когда Я пытаюсь выполнить тот же самый сценарий из проекта Bamboo, команда чтения генерирует ошибку
read: -a: unknown option
Usage: read [-ACprsv] [-d delim] [-u fd] [-t timeout] [-n nchar] [-N nchar]
[var?prompt] [var ...]
Bamboo: версия для чтения (AT & T Research) 2006-12-19
Таким образом, если версия показывает то же самое, почему флаги показывают по-разному?
В чем может быть проблема. Как я могу решить проблему, чтобы я мог прочитать строку в массиве даже при ее запуске из плана Bamboo?
RHEL 6.3 достиг [конца жизни] (https://access.redhat.com/support/policy/updates/errata). Поскольку нынешние системы имеют меньше ошибок, чем старые системы, есть ли веская причина не обновлять их? – John1024
Не уверен. Это решение принимается нашими оперативными командами, в целом у нас нет никакого веса. :(В этом случае, однако, почему существует разница в поведении? – adbdkb
Я не использую RHEL/bamboo, но, судя по подсказке 'read', мне кажется, что ваш сценарий командной строки работает под' bash 'в то время как скрипт bamboo запущен' ksh'. – John1024