У меня есть следующий тестовый пример:
#!/bin/bash
tclsh <<EOF
puts "argv=$argv"
EOF
Как я могу передать аргументы в tclsh? Аргументы должны быть после файла (согласно справочной странице tclsh)
SYNOPSIS
tclsh ?-encoding name? ?fileName arg arg ...?
Обновлять:
Сначала я возьму флаги команды bash и использую их для создания аргументов для tclsh:
tclarg1="....."
tclarg2="....."
Тогда у меня будет строковая переменная с tcl:
SCRIPT='
proc test{arg1 arg2} {
some tcl commands
}
test ???? ????
'
И, наконец, я выполняю эту строку:
tclsh <<-HERE
${POPUPSCRIPT}
HERE
Как передать «tclarg1» и «tclarg2» в сценарий tcl?
Строка может быть получена из других источников (путем поиска другого файла), а также сценарий bash может выполнять эту строку из нескольких мест/функций.