Fórum Root.cz
Hlavní témata => Software => Téma založeno: Ħαℓ₸℮ℵ ␏⫢ ⦚ 22. 09. 2024, 11:26:16
-
Normálně se zaloguju na komp přes ssh a tam pak zadám příkaz mojefunkce . Ta je definovaná v .bashrc
Ale proč nejde ji spustit rovnou v jednom kroku?
Ssh xyz@dst (-t) (-c bash) mojefunkce
( # 4 kombinace)
Příkaz nenelezen
Co dělám špatně? Případně v jakém jiném #include skriptu ji definovat pro daného usera xyz?
-
misto ssh volby "-t" muzes na klientovy v ~/.ssh/config
Host dst
Hostname dst
User xyz
RequestTTY force
.bashrc hned na zacatku se stopne pokud neni interactive,
aby pri ssh spojeni pokracoval tak na serveru v /home/xyz/.bashrc upravit "return" na
[[ ${SSH_CLIENT} ]] || return
takto muzes pouzit:
ssh dst mojefunkce
-
Popisuj problém tak jak je! -c bash nemůže psát neznámý příkaz, protože je to v ssh volba šifry. Nejspíš používáš bash -c. Co si slibuješ od těch závorek? Přehlednost? Ani náhodou.
~/.bashrc se načítá pro interaktivní shell. Interaktivní shell můžeš vynutit parameterem -i pro bash.
-
Popisuj problém tak jak je! -c bash nemůže psát neznámý příkaz, protože je to v ssh volba šifry. Nejspíš používáš bash -c. Co si slibuješ od těch závorek? Přehlednost? Ani náhodou.
~/.bashrc se načítá pro interaktivní shell. Interaktivní shell můžeš vynutit parameterem -i pro bash.
nesmysl s cipher bash sem radeji ignoroval ;-) zavorky sem predpokladal to cemu se chtel vyhnout, nad "( # 4 kombinace)" sem radeji ani nepremyslel :-D kazdopadne nevim zda jde nastavit aby ssh automaticky pouzity vychozi systemovej bash volalo s -i parametrem bez toho aby se to muselo zadavat jako parametr pri "ssh ....", proto sem psal at upravi .bashrc aby pro ssh spojeni pokracoval i pri neinteraktivnim...
-
Mám to , ale nerozumím nutnosti obou obou sad závorek. (4 případy:3x vypíše Linux,1x Linux arm smtp preempt 2.6.0)
Čekal jsem že třeba vše za -c patří commandu she,ale budiž.
~ $ ssh -t -p22 pypi@pine bash -i -c uname -a
pypi@pine's password:
Linux
Connection to pine closed.
~ $ ssh -t -p22 pypi@pine bash -i -c "uname -a"
pypi@pine's password:
Linux
Connection to pi closed.
-
Mám to , ale nerozumím nutnosti obou obou sad závorek. (4 případy:3x vypíše Linux,1x Linux arm smtp preempt 2.6.0)
Čekal jsem že třeba vše za -c patří commandu she,ale budiž.
predpokladam ze v tom kodu si chtel uvest vsechny 4 pripady a ne jen 2 ;-) a v tom kde to slo mas:
'bash -i -c "uname -a" '
nebo
"bash -i -c 'uname -a' "
to je v poradku, bash u -c potrebuje byt v (nejakych) uvozovkach protoze za -c klidne muze byt dalsi parametr bashe, nikoliv toho bashem spousteneho...
a duvod proc to cele musis dat do dalsich/jinych uvozovek je aby to cele ssh bralo jako jeden vzdalenej prikaz, coz neni potreba pouze pokud bys ten remote nepotreboval mit v uvozovkach...
nicmene nejak nechapu vykriku "Mám to" kdyz tohle je neco uplne jineho nez si se puvodne ptal, kde sice pro bash pouzijes -i ale volas tim uname prikaz (nebo snad ta funkce v .bashrc je uname ? :-) takze interaktivni bash nepotrebujes a pro uname prikaz ani nepotrebujes bash a i kdybys to potreboval chtel si se obejit bez tech parametru u ssh, coz to co sem psal to presne tak resi, kde staci jen zavolat "ssh stroj funkce_z_bashrc" ;-)