Como posso atualizar meu PATH usando o expect em um script bash? [fechadas]

1

Estou me conectando ao meu servidor da universidade usando o ssh. Mas, toda vez que eu fizer login, preciso atualizar meu R PATH. Então, eu gostaria de automatizar, eu tenho esse script até agora:

#!/usr/bin/expect -f

spawn ssh user@server

expect "password:"
send "<pass>\r"
send 'export PATH=/usr/local/R-3.1.2/bin/:$PATH" R "$@"\r"
send 'R\r'

interact

Obrigado.

    
por Mario GS 06.03.2017 / 18:45

1 resposta

0

Observe que as aspas simples têm não significado especial em espera (que é uma extensão de Tcl). O Tcl tem diferentes caracteres de citação .

Eu suponho que você quer fazer a conexão remota, defina o caminho e chame R com o resto dos argumentos. Tcl armazena os argumentos da linha de comando na variável $argv

#!/usr/bin/expect -f

spawn ssh user@server

expect "password:"
send "<pass>\r"
# $PATH is already exported
send "PATH=/usr/local/R-3.1.2/bin/:\$PATH\r"
send [join [concat R $argv]]
sent "\r"

# do you then want to drop into an interactive R session?
send 'R\r'
interact
    
por 07.03.2017 / 01:28