CAT умеет конкатенировать "трубу" в конец файла

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

CAT умеет конкатенировать "трубу" в конец файла

Сообщение debi12345 » 17.09.2013 15:20:11

Если завершать CAT знаком "-" (stdin).
Может кому будет полезно такое применение для вызова внешних скриптов на любом языке с добавлением своих финализирующих команд (меня выручило - ненавижу возиться с временными файлами).

Пример : файл "ini_file_in_tcl_format" содержит TCL-команды :
Код: Выделить всё
set Ppvar(name) "Beee";
[..]
set Ppvar(type) "Muuuu";


Обработка этих TCL-команды в BASH-скрипте (в данном случае - чтение настроек TCL-программы в BASH-переменные)
Код: Выделить всё
#!/bin/sh

APP_INI=ini_file_in_tcl_format;

function get_app_ini() {
    echo -e foreach name [array names Ppvar] { puts "\$name=\"\$Ppvar(\$name)\"\;" } | cat $APP_INI - | tclsh
}

eval `get_app_ini`
if [ $name == "Beee" ]; then
[..]
else
[..]
fi

case $type in
  Muuuu)
    echo "Ha-ha" ;
    return
    ;;
  [..]
esac
[..]
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 4044
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: CAT умеет конкатенировать "трубу" в конец файла

Сообщение Дож » 22.03.2014 00:42:25

Так-то /dev/stdin более универсален, (почти) к любой программе подойдёт.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 663
Зарегистрирован: 12.10.2008 16:14:47


Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru