У меня есть простой bash-скрипт test.sh, который принимает четыре аргумента.
#!/bin/bash
echo "1: $1"
echo "2: $2"
echo "3: $3"
echo "4: $4"
Я пытаюсь вызвать его из Tcl-скрипта test.tcl
exec bash test.sh arg1 arg2 arg3 arg4
foreach i {1 2 3} {
exec bash test.sh arg1 arg2 arg3 arg4
}
Первый вызов скрипта выводится так, как я ожидаю, но вызовы цикла foreach, похоже, никогда ничего не делают.Фактически, команду exec
можно заменить на exec ls
, чтобы сделать вещи еще проще;вызов вне цикла работает нормально, но вызов из цикла ничего не делает.
РЕДАКТИРОВАТЬ Как указано в комментариях, вероятно важно упомянуть, что я использую консоль Tcl, встроенную впакет программ (VMD, визуальная молекулярная динамика).Из этого интерфейса терминала я вызываю эти сценарии «в интерактивном режиме» и вижу вывод на терминале из exec
вне цикла, но не из внутри цикла.
Моя работа приостановлена из-заэто, есть идеи?