Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: работа с параметрами в tcl
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Языки проектирования на ПЛИС (FPGA)
wolfman
Приветствую всех.

Понадобилось тут перед сборкой проекта в Квартусе иметь возможность подменять один файлик. Написал скрипт на TCL, но он ожидает ввода параметра с клавиатуры.
А мне надо, чтобы параметр передавался с запуском скрипта, т.е. типа такого: ./myscript.tcl 1
где 1 этот параметр, который определяет какой файл надо заменить.

Никак не соображу как это сделать.

Код скрипта прилагаю:

CODE
#!/usr/bin/tclsh
# получаем параметр с клавиатуры
set var [gets stdin]

# определяем путь, по которуму лежит скрипт и запоминаем его
set TclPath [file dirname [file normalize [info script]]]

# проверяем какой параметр нам передали
if {$var == 1} {
# если передали '1', копируем файл из src/debug/
file copy -force $TclPath/src/debug/pwr.vhd $TclPath

# иначе забираем файл из /src/release/
} else {file copy -force $TclPath/src/release/pwr.vhd $TclPath}
_Ivan_33
Гуглежом находится вот такое
https://www.devdungeon.com/content/how-use-...e-arguments-tcl
wolfman
Заработало вот в таком виде:

Код
#!/usr/bin/tclsh
# определяем путь, по которуму лежит скрипт и запоминаем его
set TclPath [file dirname [file normalize [info script]]]
    
if {[ lindex $argv 0]  == 1} {
    # если передали '1', копируем файл из src/debug/    
    file copy -force $TclPath/src/debug/pwr.vhd $TclPath

# иначе забираем файл из /src/release/
} else {file copy -force $TclPath/src/release/pwr.vhd $TclPath}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.