LINUX.ORG.RU

bash sshpass

 


0

2

Подскажите почему не работает sshpass в качестве переменной

#переменая
connect="sshpass -p $pass ssh -o StrictHostKeyChecking=no -X $user@$ip"


#вызов
connect << EOF
    
EOF

Ответ на: комментарий от vbox

Всё работает. Вызываешь так?

$connect

Deleted
()
Ответ на: комментарий от hanharr

конструкция var=$(command) помещает результат выполнения команды в переменную.

Deleted
()

Есть у меня update-скрипт, который коннектится к удаленному серваку и стягивает новую версию рабочей программы на локальную машину. Все работает:

#!/bin/bash
sshpass -p 'реальный_пароль' scp -p user@192.168.0.1:'/home/remote_user/dev/test.exe' /home/local_user/Documents/;

У тебя переменные $pass, $user и $ip где-то заданы вообще?

Gonzo ★★★★★
()
Ответ на: комментарий от tiandrey

Я думал сделать меню:

  • 1) Обновить
  • 2) Очистить лог
  • 3) итд

Сделать переменную

connect="sshpass -p $pass ssh -o StrictHostKeyChecking=no -X $user@$ip"

и просто обращатся при вызове с меню

connect << EOF
    apt-get update
EOF
или


connect << EOF
    sudo rm /var/log/*  
    sudo rm /var/cache/*
EOF
vbox
() автор топика
Ответ на: комментарий от vbox

Говорят тебе, функцию сделай.

connect() {
    sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -X $user@$ip
}
Тогда дальше можешь своё непотребство.

Если переменную используешь - не забудь $ ставить при обращении к ней.

tiandrey ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.