Я не уверен, что понимаю, что вам нужно, но вот несколько примеров того, как косвенно ссылаться на элемент массива в tcl:
% set array(key1) {value 1}
value 1
% set aname array
array
% set ${aname}(key2) {value 2}
value 2
% array get ${aname}
key {some value} key1 {value 1} key2 {value 2}
% set ${aname}(key2)
value 2
% set key key2
key2
% puts "<[set ${aname}($key)]>"
<value 2>
В вашем примере вы можете просто использовать set
вместоputs
:
% set variable2 {3.5400 7.3200}
3.5400 7.3200
% set variable1 PATH_xyz
PATH_xyz
% set ${variable1}(modifyPt) $variable2
3.5400 7.3200
% set ${variable1}(modifyPt)
3.5400 7.3200
И, как и выше, вы можете использовать его в [...]
подстановке команд:
% puts "${variable1}\(modifyPt)={[set ${variable1}(modifyPt)]}"
PATH_xyz(modifyPt)={3.5400 7.3200}
# rm $(which obs-studio)
Команда which
определяет, где находится двоичный файл. Итак, which obs-studio
напечатает что-то вроде /usr/bin/obs-studio
. Команда rm
удаляет этот двоичный файл. Если это не сработает, замените obs-studio
на obs
.
Или просто удалите исполняемый файл.