2016-04-26 25 views
11

C'è un modo per disattivare o impostare la lunghezza della pagina di una connessione Net-SSH rubino, in modo da non dover modificare le impostazioni sul dispositivo remoto?Ruby SSH disabilita il cercapersone

Nei router Cisco utilizzeremmo i parametri "lunghezza terminale 0" per eseguire ciò, ma su altri server non è possibile utilizzare alcun comando simulato. Può essere impostato via lib Net-SSH?

+0

Una possibile soluzione sarebbe "esportazione PAGER = cat". –

+0

@Jordan Ho provato questo ma non ha funzionato. Ho aggiunto la riga nel mio .bashrc – Bulki

+1

puoi incollare come stai usando net-ssh? – Anko

risposta

1

Supponendo che l'estremità remota abbia una shell, l'altezza del terminale viene impostata nella variabile di ambiente LINES. Si può provare a impostare in questo modo:

Net::SSH.start('hostname', 'user') do |ssh| 
    ssh.exec!('LINES=50 your-command-here') 
end 

Se non si dispone di una shell è possibile provare con net-ssh spingerlo:

ENV['LINES'] = '50' 
Net::SSH.start('hostname', 'user', send_env: ['LINES']) do |ssh| 
    ssh.exec!('your-command-here') 
end 

Tuttavia, questo richiede la cooperazione di sshd. Se è OpenSSH, modifica/etc/ssh/sshd_config e assicurati che AcceptEnv includa LINES.