В Bash есть переменная IFS, отвечающая за разделитель полей при чтении stdin, но нет переменной OFS — для выходного разделителя полей.
Или есть? Для преобразования можно использовать переменную $* в кавычках.
Генерим CSV (comma separated value):
#!/bin/bash
IFS=",$IFS" # добавили запятую
set 1 2 3 4 "5 6" 7 # установили параметры
echo ' $* ='$*
echo '"$*"='"$*"
Обычно IFS содержит символы: пробел, табуляцию и перевод строки.
"$*" — в кавычках обязательно, — то в качестве разделителя используется первый символ IFS.Будьте внимательны: команда set устанавливает параметры командной строки текущего экземпляра Bash — $1...$N изменятся.








Комментарии