sshpass через обычный ssh-клиент

Решение с слишком большим количеством предостережений (пробелов в именах файлов, файлов, не содержащих данных, но находящихся в папке и т. д. ). Используйте его на свой страх и риск.

plot for [fn in system("ls")] fn with lines title ''.i

Правильный способ — это, конечно, назвать ваши файлы в упорядоченном порядке и переписать forболее разумным образом, например

plot for [i=1:15] `mydata`.i.`.dat` using 1:2 with lines title `data set `.i

Обратите внимание, что forдля plotдоступно только в новых версиях gnuplot.

Редактировать:для каждого запроса в комментариях и чате, это последняя используемая форма. Опять же, это быстро и грязно, и используйте его на свой страх и риск.

j=0
do for [fn in system("ls")] {
    j=j+1; set term png
    set output ''.fn.'.png'
    plot fn with lines linecolor rgb "navy" title ''.i 
}
2
18.04.2021, 11:31
1 ответ

Учитывая, что приложение, которое я использую, представляет собой программу CLI, которая ищет sshв $PATH, можно изменить PATH, чтобы включить специальную команду ssh, которая на самом деле является оболочкой sshpass.

Обернуть sshpassв исполняемый файл с именемssh:

/path/to/bin/ssh:

#!/usr/bin/env bash
sshpass -f /path/to/passwordfile ssh "$@"

Затем добавьте родительский каталог пользовательского sshв PATH при запуске myapp, добавив следующий псевдоним в .zshrcили.bashrc:

alias myapp="PATH=/path/to/bin:$PATH myapp"
1
28.04.2021, 22:52

Теги

Похожие вопросы