Strona 1 z 1

jak zrobić folder z plikami/programami działającymi w terminalu

: 28 lip 2009, 20:46
autor: Spawnm
Witam,
jak by to powiedzieć ...
mam na kompie php5 , apache2 i mysql,
pliki php składuję w /var/www/jakisFolder/
i teraz pytanie jak zrobić aby w terminalu wpisując np.
myprogram -id 123
wywołał mi się plik myprogram.php z przekazanym getem id=123 ?

dodatkowo jak zrobić aby działało to przy każdym pliku który dodam do tego folderu ?

Odp: jak zrobić folder z plikami/programami działającymi w terminalu

: 28 lip 2009, 21:35
autor: k-pax26
Nie jestem dobry z basha, ale możesz przerobić to:

Kod: Zaznacz cały

#!/bin/bash

plik=$1
ID=$2

sh "/home/k-pax/Pulpit/fl/$plik" $ID
Utwórz plik i zapisz w /usr/bin. Uruchomisz to: nazwapliku(w usr/bin) [plik_docelowy] [ID] czyli np: uruchom test.php 520. Musisz to tylko przerobić do swoich potrzeb bo to uruchamia pliki sh z katalogu /home/k-pax/Pulpit/fl/.

Odp: jak zrobić folder z plikami/programami działającymi w terminalu

: 28 lip 2009, 22:13
autor: Spawnm
niestety nie działa :(
w /usr/bin dałem plik ubu z treścią

Kod: Zaznacz cały

#!/bin/bash

plik=$1
ID=$2

sh "/var/www/ubu/$plik" $ID
potem w terminalu
ubu plik.php 555 (plik istnieje)
i dostałem komunikat że polecenie nie odnalezione :/
ikonka pliku jest inna niż ta od pliku sudo , powinienem go jakoś skompilować ?

Odp: jak zrobić folder z plikami/programami działającymi w terminalu

: 29 lip 2009, 12:24
autor: k-pax26
nie, bez kompilacji. Zapomniałem napisać żebyś nadał mu prawa do wykonywania

Kod: Zaznacz cały

sudo chmod +x /usr/bin/plik
I może zapisz z rozszerzeniem .sh (plik.sh) u mnie bez rozszeżenia nie chce przekazać podanych parametrów (tutaj ID). Dla plików w katalogu (tych php) też nadaj prawo do odczytu i wykonania

Kod: Zaznacz cały

 chmod +rx katalog_z_plikami/*
I pamiętaj, że ten skrypt nie wykona pliku PHP, bo otwiera on skrypty sh

Odp: jak zrobić folder z plikami/programami działającymi w terminalu

: 29 lip 2009, 13:10
autor: maciej.strzelecki
Jeżeli chcesz, żeby parametry wysyłane były metodą GET, to musisz otworzyć stronę ze swoim skryptem. Można to zrobić za pomocą wgeta.

Utwórz nowy plik w /usr/local/bin, np. myprogram.sh z taką zawartością:

Kod: Zaznacz cały

$!/bin/sh

wget -q -O /dev/null http://localhost/jakisFolder/myprogram.php?id=$1
Później nadaj mu prawa do uruchomienia:

Kod: Zaznacz cały

chmod a+x /usr/local/bin/myprogram.sh
Parametr -q wyłącza wyjście wgeta, a parametr -O odpowiada za zapis wyniku do /dev/null.

Swój program możesz wywoływać z konsoli wpisując po prostu:

Kod: Zaznacz cały

myprogram.sh 123

Odp: jak zrobić folder z plikami/programami działającymi w terminalu

: 30 lip 2009, 08:53
autor: Spawnm
K-pax26 -> to co napisałeś prawie działa :)
wyskakuje komunikat że nie odnaleziono pliku,
potem treść z pliku php (a jednak się znalazł ;) )
tylko tam gdzie daję echo $_GET['ID']; wyskakuje mi [ID] zamiast cyferek które przesłałem :/ Czemu tak się dzieje ?

Odp: jak zrobić folder z plikami/programami działającymi w terminalu

: 02 sie 2009, 14:24
autor: f00sek
Chcesz po prostu wykonać skrypt php z linii poleceń? Do tego służy pakiet php5-cli. I wtedy podajesz jako parametry dowolne dane, a w skrypcie nie korzystasz z tablicy $_GET tylko $_SERVER['args'].

Program uruchamiasz

Kod: Zaznacz cały

php program.php