Bash - uruchomienie pliku binarnego

Potrzebujesz pomocy z C, C++, perl, python, itp.
czakll
Posty: 90
Rejestracja: 22 listopada 2008, 18:57

Bash - uruchomienie pliku binarnego

Post autor: czakll »

Witam wszystkich. Potrzebuję napisać mniej więcej taki skrypt w bashu:

Kod: Zaznacz cały

#!/bin/bash
export LD_LIBRARY_PATH=/root/hlds_l?:$LD_LIBRARY_PATH
echo URUCHAMIAM HLTV 
./hltv
Niestety nie wiem jak uruchomić plik hltv, normalnie uruchamia się go ./hltv

Szukałem trochę w sieci, jednak nigdzie nie znalazłem.

Lub jest jeszcze jedna opcja.
Jak zrobić aby po jednokrotnym wpisaniu:

Kod: Zaznacz cały

export LD_LIBRARY_PATH=/root/hlds_l?:$LD_LIBRARY_PATH
zachowało się to ustawienie?
Wtedy skrypt nie byłby mi potrzebny.
Pozdrawiam.
Awatar użytkownika
Shiver25
Posty: 89
Rejestracja: 19 stycznia 2009, 22:29
Lokalizacja: z piekła rodem ]:-)

Post autor: Shiver25 »

No tak w pewnym sensie masz racje ze wykonuje sie poprzez

Kod: Zaznacz cały

./jakis_skrtpt
ale musi on miec prawa wykonywalnosci. Chyba tak to sie nazywa. Robisz to w taki sposob

Kod: Zaznacz cały

chmod +x jakis_tam_sobie_skrypt
.
Mam nadzieje ze pomoglem:]

Pozdrawiam
czakll
Posty: 90
Rejestracja: 22 listopada 2008, 18:57

Post autor: czakll »

Shiver25 pisze:No tak w pewnym sensie masz racje ze wykonuje sie poprzez

Kod: Zaznacz cały

./jakis_skrtpt
ale musi on miec prawa wykonywalnosci. Chyba tak to sie nazywa. Robisz to w taki sposob

Kod: Zaznacz cały

chmod +x jakis_tam_sobie_skrypt
.
Mam nadzieje ze pomoglem:]

Pozdrawiam
No niestety. Napisałeś tutaj o wykonaniu skryptu, natomiast ja poszukuję sposobu na uruchomienie pliku binarnego. Ktoś ma jakiś pomysł?
RaV.
Posty: 87
Rejestracja: 28 czerwca 2006, 15:30
Lokalizacja: 127.0.0.1

Post autor: RaV. »

W systemach Uni*owych nie ma znaczenia, czy plik jest binarny czy jest skryptem. Jeśli będzie miał atrybut +x dla użytkownika, który próbuje go wykonać, kernel załatwi resztę.
"./plik" wskazuje "uruchom w bieżącym katalogu program plik". Możesz też podać pełną ścieżkę. Np. /home/user/bin/plik. Jeśli będzie wskazaniem tego samego pliku, efekt powinien być taki sam. "./" przydaje się, gdy ścieżka, z której próbujesz uruchomić program/skrypt, nie znajduje się w zmiennej $PATH. Mały hint i ćwiczenie za razem. Wykonaj następujące polecenia (radzę to zrobić w osobnej konsoli, bo sobie lekko tymczasowo popsujesz):

Kod: Zaznacz cały

cd /bin
ls -l date
./date
date
/bin/date
echo $PATH
export PATH="/home"
echo $PATH
date
./date
/bin/date
Program date jest plikiem binarnym a nie skryptem. Jeśli wykonałeś sumiennie polecenie, to już powinieneś chwytać, o co mi chodzi i do czego zmierzał kolega, który wcześniej Ci odpowiedział. Jak jeszcze nie, to kolejny hint: Google(ścieżki względne bezwzględne).
ODPOWIEDZ