Portál AbcLinuxu, 12. května 2025 11:21
./skript.sh "promenna1" "promenna2 je delsi a obsahuje mezery" "promenna3"
ssh -c "command"
, ale uvozovky mi rozbijeji ty zadavane promenne.
Poradte jak to resit, dekuju.
ssh -c
? To nastavuje použitou šifru.
SSH spustí cokoliv, co je uvedeno za jeho parametry:
ssh kdo@kde /muj/skript.sh "promenna1" "promenna2 je delsi a obsahuje mezery" "promenna3"
Je třeba neplést si sh -c <příkaz>
a ssh -c <šifra>
. Option -c
má u ssh
úplně jiný význam.
Při spouštění příkazu na druhé straně pomocí sh -c
místo použití argumentů ssh
je potřeba počítat s tím, že parametr optionu -c
musí zůstat v celku jako jeden token a že projde dvojí expanzí.
ssh můj.server sh -c \''můj_skript.sh "a b" "c d" "e $HOSTNAME f"'\'
Jednodušší ale bude:
ssh můj.server můj_skript.sh \'"a b"\' \'"c d"\' \'"e $HOSTNAME f"\'
Proměnná $HOSTNAME
se bude expandovat v prvním případě na straně serveru, ve druhém případě na straně klienta … jen tak pro zajímavost. I na to je třeba dát pozor.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.