Выполнить код внутри терминала, открытого партиями - PullRequest
0 голосов
/ 23 апреля 2020

Я пишу сценарий запуска для процесса kdb (но я не думаю, что тип процесса имеет значение, с такой же легкостью может быть python). Я хочу, чтобы скрипт запускал мой файл q, а затем внутри терминала выполнял строку (например, myfunc []). Попытка пакетной команды - c дает «Системе не удается найти указанный файл». Любой совет? Спасибо. Код, который я сейчас пытаюсь:

 cmd /k “q myqfile.q” -c “myfunc[]”

Ответы [ 3 ]

1 голос
/ 23 апреля 2020
cmd /k "copy myqfile.q myqfile_.q & echo myfunc[] >> myqfile_.q & q myqfile_.q & del myqfile_.q"

Я создаю копию myqfile.q, затем добавляю myfunc [] к копии, затем запускаю копию и, наконец, удаляю копию.

0 голосов
/ 23 апреля 2020

Вы можете сделать это из командной строки, но я не знаю, насколько это хорошо:

$ cat script.q
a:1;
func:{show a+x};
$ export QHOME=/opt/q && echo 'func[10]' | $QHOME/l64/q script.q
11
$
0 голосов
/ 23 апреля 2020

Я думаю, факт, что это q, имеет значение здесь. Я не думаю, что вы можете передать команду kdb / q таким образом. Добавьте это в конец myqfile.q:

myfunc[];
exit 0
...