Я использую сценарий ожидания, и я не могу установить 2 переменные для выходного файла, я просто хочу назвать файл соответствующим образом.
#!/usr/bin/env expect
set file [lindex $argv 0];
set date [exec date "+%d-%B-%Y"]
spawn sh -c "ssh -o StrictHostKeyChecking=no hostname < ./script.sh > /root/scp_output_$file_$date.txt"
Требуемый вывод
/root/scp_output_A_21-September-2017.txt
Ошибка, которую я вижу для некоторого тестового кода,
can't read "file_": no such variable
while executing
, что указывает на то, что TCL ищет несуществующую file_
переменную. Это можно исправить, отметив, где заканчиваются переменные существа и; TCL использует для этого тот же синтаксис, что и Perl, {}
вокруг имени переменной.
spawn sh -c "ssh -o StrictHostKeyChecking=no hostname <./script.sh > /root/scp_output_${file}_${date}.txt"