GRY-Online.pl --> Archiwum Forum

Skrypty bash pomocy!! bo jestem zielony

17.06.2009
19:08
smile
[1]

jojko999 [ Generaďż˝ ]

Skrypty bash pomocy!! bo jestem zielony

Witam.
mam dostęp do serwera obliczeniowego i muszę zastosować pewien skrypt.
Mam taki problem:
Piszę skrypt dla basha (chyba tak to można ująć) od komendy #!/bin/bash
potem następują komendy
potem uruchamiam odpowiedni program komendą matlab (czyli uruchamiam matlaba)
a potem chcę, żeby pod matlabem uruchomić skrypt o nazwie 'start40.m'
Jeżeli wpiszę tak:

matlab
./start40.m

to uruchamia się program matlab, ale plik 'start40.m' jest interpretowany przez basha nie przez matlaba i pojawiają się błędy w stylu 'line 1 error; command not known' itd. do końca skryptu

jak uruchomić matlaba z poziomu basha wraz z parametrem, umożliwiającym uruchomienie skryptu start40.m?

17.06.2009
19:23
[2]

Regis [ ]

Strzelam:

matlab ./start40.m

17.06.2009
19:29
[3]

jojko999 [ Generaďż˝ ]

strzał chybiony: niczym to się nie różni w interpretacji kodu

edit:spróbowałem tak:
$matlab start40.m
zobaczymy czy zadziała, ale ze względu na kolejkę w przetwarzaniu muszę poczekać


edit2:no i du...a nie zdefiniowana jest funkcja po $, czyli nie działa: command not found

jakieś pomysły?

17.06.2009
20:57
[4]

wysiak [ Legend ]

Nie mam pojecia jakie ten matlab przyjmuje parametry, zapewne poda spis po zapytaniu go - jakis parametr typu -h, -?. Powinna tam byc flaga, ktora powie mu, ze nastepna jest nazwa pliku do zaladowania. Jesli bedzie to np -f, to linia w skrypcie bedzie wygladala

matlab -f start40.m

tudziez
./matlab -f start40.m

Dolar oznacza zmienna, czyli mozesz sobie na poczatku pliku zadeklarowac np
$PLIK_DO_URUCHOMIENIA=start40.m
i pozniej uzyc
matlab -f $PLIK_DO_URUCHOMIENIA

albo zrobic
matlab -f $1

i uruchamiac swoj skrypt w taki sposob:
./skrypt_jojka start40.m

Pierwszy podany parametr wejsciowy jest widziany jako $1, drugi $2, itd.


Przypominam, ze to -f to sobie wymyslilem - co tam powinno byc, to musisz sam sprawdzic. Ewentualnie sprawdz
matlab start40.m

A nuz tak to zrobili..

Aaa, sprobuj odpalic
man matlab
, powinno pokazac parametry uruchomieniowe.

17.06.2009
22:20
[5]

jojko999 [ Generaďż˝ ]

wysiak dzięki popróbuje

doczytałem w dokumentacji matlaba, że mogę go uruchomić z opcją -r (zamiast twojego wymyślonego -f, które ma z zasady uruchomić komendę startową) i wysłałem

matlab -r start40 (matlab interpretuje pliki *.m bez rozszerzeń) teraz czekam w kolejce co z tego wyniknie.

Jeżeli nie zadziała to doczytałem, że malab po starcie przeszukuje katalog roboczy więc spróbuję jeszcze opcję:

matlab -start40 jakby nie zadziałała poprzednia opcja

ale i tak dzięki za poradę bo rozjaśniło mi to trochę działanie skryptów

17.06.2009
23:31
[6]

jojko999 [ Generaďż˝ ]

dzięki zadziałało z -r :-)

© 2000-2024 GRY-OnLine S.A.