Portál AbcLinuxu, 14. května 2025 02:28
Nedari se mi rozbehnout ekvivalent tohoto lokalniho prikazu
echo $NECO >> soubor.txt
tak, aby se vystup pridal do souboru na vzdalenem pocitaci pres ssh
echo $NECO | ssh usr@host '>> soubor.txt'
Tento prikaz sice soubor vytvori, ale obsah je prazdny.
Tusim, ze je to trivialni, ale nevim kde je chyba.
Tušíte správně. Jako nejjednodušší řešení se mi zdá:
echo $NECO | ssh usr@host 'cat >> soubor.txt'
Je rozdíl mezi
ssh -l user host "cmd -args" >> file
a
ssh -l user host "cmd -args >> file"
První variantu zpracovává místní shell, takže přesměrovává výstup příkazu ssh (a potažmo cmd
) do lokálního souboru. U druhé varianty zpracovává většítka vzdálený shell, takže přesměrovává do z jeho pohledu lokálního - a z vašeho tedy vzdáleného - souboru. Oboje má svůj význam a je na vás, čeho chcete dosáhnout a kterou variantu zvolíte. Můžete samozřejmě použít i
ssh -l user host "cmd -args | tee -a file1" >> file2
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.