Dostupnost funkce z .bashrc přes ssh

Dostupnost funkce z .bashrc přes ssh
« kdy: 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?

« Poslední změna: 22. 09. 2024, 11:29:19 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »


k3dAR

  • *****
  • 3 033
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Dostupnost funkce z .bashrc přes ssh
« Odpověď #1 kdy: 22. 09. 2024, 14:55:33 »
misto ssh volby "-t" muzes na klientovy v ~/.ssh/config
Kód: [Vybrat]
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
Kód: [Vybrat]
[[ ${SSH_CLIENT} ]] || return
takto muzes pouzit:
Kód: [Vybrat]
ssh dst mojefunkce

tecka

  • ***
  • 158
    • Zobrazit profil
    • E-mail
Re:Dostupnost funkce z .bashrc přes ssh
« Odpověď #2 kdy: 22. 09. 2024, 15:44:08 »
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.

k3dAR

  • *****
  • 3 033
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Dostupnost funkce z .bashrc přes ssh
« Odpověď #3 kdy: 22. 09. 2024, 16:48:32 »
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...

Re:Dostupnost funkce z .bashrc přes ssh
« Odpověď #4 kdy: 23. 09. 2024, 23:25:25 »
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ž.
Kód: [Vybrat]
                             
~ $ 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.
« Poslední změna: 23. 09. 2024, 23:29:36 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »


k3dAR

  • *****
  • 3 033
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Dostupnost funkce z .bashrc přes ssh
« Odpověď #5 kdy: 23. 09. 2024, 23:44:12 »
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:
Kód: [Vybrat]
'bash -i  -c "uname -a" '
nebo
Kód: [Vybrat]
"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" ;-)