Portál AbcLinuxu, 1. května 2025 01:41
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
$ echo 'apt-get upgrade' | /usr/bin/ssh root@stroj.xy.cz Pseudo-terminal will not be allocated because stdin is not a terminal. stdin: is not a tty Čtu seznamy balíků... Vytvářím strom závislostí... Následující balíky jsou podrženy v aktuální verzi: linux-image-server 0 aktualizováno, 0 nově instalováno, 0 k odstranění a 1 neaktualizováno. 1 instalováno nebo odstraněno pouze částečně. Potřebuji stáhnout 0B archivů. Po rozbalení bude na disku použito dalších 0B. Chcete pokračovat [Y/n]? Přerušeno.Zkrátka potřebuji do ssh spojení napsat automaticky apt-get upgrade (nebo něco jiného), ale aby byla zachována možnost do procesu zasáhnout (abych při nějakém problému mohl dát Yes/No). Tedy aby program ssh také přijímal vstup z klávesnice. Když navážu výstup echo na vstup ssh, tak to pak logicky nefunguje. Jak na to? Existuje nějaký filtr, který by přijal nějaké znaky a poté se zpět navázal na standardní vstup (z shellu)?
user@stroj:~$ ssh usertam@strojtam \ > 'export http_proxy="http://PROXYUSER:PROXYPASS@IPPROXY:PORT/" && \ > export ftp_proxy="http://PROXYUSER:PROXYPASS@IPPROXY:PORT/"; \ > sudo apt-get update; sudo apt-get upgrade'Pochopitelně pokud z nich nelezeš přes proxy tak tam nemusíš provést ten export. Chtěl jsem jen demonstrovat, že takhle můžeš naskládat libovolnou sekvenci příkazů.
apt-get update & upgrade if test $? != 0; then echo Error occured, please fix: bash fi(tento kod je pseudo)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.