У меня есть следующая строка filename:231:blahblah
, которую я хочу разделить на массив, используя :
в качестве разделителя
Это код, который у меня есть
echo "Text read from file: $line"
IFS=':' read -a FILENAME <<< $line
echo "filename: ${FILENAME[0]}"
фактический результат
Text read from file: filename:231:blahblah
filename: filename 231 blahblah
Результат, который я хочу,
Text read from file: filename:231:blahblah
filename: filename
Что я делаю не так?
$line
при чтении в массив =>read -a FILENAME <<< "$line"
- person Eugeniu Rosca   schedule 12.06.2015bash
есть ошибка, исправленная в версии 4.3, из-за которой параметрIFS
неправильно смешивается с расширением параметра в строке здесь. - person chepner   schedule 12.06.2015bash
работает правильно, кавычки не нужны. Расширение одного параметра не подвергается разбиению на слова, если оно является аргументом оператора здесь-строки. - person chepner   schedule 12.06.2015