Как запустить скрипт? Скажите, пожалуйста, как не используя терминал запускать скрипты?

Скажите, пожалуйста, как не используя терминал запускать скрипты? А то вместо программы у меня текстовый редактор с кодом появляется!!!!

0
Soi-Fong - 11 Февраль, 2009 - 00:56
Изображение пользователя Soi-Fong.

в правах файла сделай его исполняемым

0
AMORPHINE - 11 Февраль, 2009 - 18:32

Делал - все равно не открывается, как программа

0
AMORPHINE - 11 Февраль, 2009 - 19:04

сделал открытие - когда папка с программой на рабочем столе находится - скрипты не выполняются. Другой вопрос - почему не выполняются ссылки на скрипты?

0
Гость - 11 Февраль, 2009 - 16:17

В свойствах-правах все скрипты помечены, как иполняемые, в том-то итрабла. Может, это глюк KDE?

0
den405 - 13 Июль, 2010 - 23:18

Помогите разобраться.
Нашел скрипт для USSD запросов 3g модема. Сохранил, сделал исполняемым, при попитке запустить консоль выдает следующее:

[email protected]:~$ ls
ussd.sh ussd.sh~ Видео Документы Загрузки Картинки Музыка Общедоступные Рабочий стол Шаблоны
[email protected]:~$ sudo ./ussd.sh
./ussd.sh: 2: cannot open ?php: No such file
./ussd.sh: 4: Syntax error: "(" unexpected
[email protected]:~$
Что я делаю неправильно?

0
Vlad_W_1999 - 14 Июль, 2010 - 03:13

Сам скрипт покажи. А там посмотрим.

0
dyug - 14 Июль, 2010 - 10:19

/телепат моде он/ исходя из такого заявления

./ussd.sh: 2: cannot open ?php: No such file
./ussd.sh: 4: Syntax error: "(" unexpected

можн сделать вывод что скрипт нужно запускать по другому

например sudo /usr/bin/php usssd.sh
/телепат моде офф/

Ну во всяком случае мне так кажется. :-)

0
den405 - 14 Июль, 2010 - 21:31

<?php

function decodePDU($in) {
$b = 0; $d = 0;
$out = "";
foreach (
str_split($in, 2) as $ss) {
 
$byte = hexdec($ss);
 
$c = (($byte & ((1 << 7-$d)-1)) << $d) | $b;
 
$b = $byte >> (7-$d);
 
$out .= chr($c);
 
$d++;
  if (
$d == 7) {
  
$out .= chr($b);
  
$d = 0; $b = 0;
  }
}
return
$out;
}

function
encodePDU($in) {
$out = "";
for (
$i = 0; $i < strlen($in); $i++) {
 
$t = $i%8+1;
  if (
$t == 8)
   continue;
 
$c = ord($in[$i])>>($i%8);
 
$oc = $c;
 
$b = ord($in[$i+1]) & ((1 << $t)-1);
 
$c = ($b << (8-$t)) | $c;
 
$out .= strtoupper(str_pad(dechex($c), 2, '0', STR_PAD_LEFT));
}
return
$out;
}

if (!isset(
$argv) || !$argv[1]){
die(
"Neet number of service. Sample: <script>.php *111#\n");
}

$number = $argv[1];

print
"Number of service: $number \n";

$f = fopen ("/dev/ttyUSB2", "rw+");
fputs($f, "AT+CUSD=1,".encodePDU($number).",15\r\n");

while (
$s = fgets($f)) {
if (
substr($s, 0, 5) == "+CUSD") {
 
$s = decodePDU(substr(trim($s), 10, -3));
  echo
$s."\n";
  if (
strpos($s, "1 - Dalee") !== false) {
  
fputs($f, "AT+CUSD=1,".encodePDU("1").",15\r\n");
  }
  else
   break;
}
}

fclose($f);

?>

0
Voyageur - 14 Июль, 2010 - 22:48
Изображение пользователя Voyageur.

Так ептить, убери первую и последнюю строчки!))

0
Xenomorph - 15 Июль, 2010 - 08:46
Изображение пользователя Xenomorph.

Убирать нельзя, это ж пэхопэ-быдлокодерский-быдлоскрипт. Я знал, что надо было отписаться, пока чего похуже не насоветовали, но увы...

0
Voyageur - 15 Июль, 2010 - 09:10
Изображение пользователя Voyageur.

Блин, я конечно ступил)) На код не посмотрел, только на строчку запуска...

0
den405 - 14 Июль, 2010 - 23:00

Убрал.
теперь просто:
[email protected]:~$ sudo ./ussd.sh
./ussd.sh: 4: Syntax error: "(" unexpected
[email protected]:~$

0
Michael72 - 15 Июль, 2010 - 08:35
Изображение пользователя Michael72.

Попробуй if [ -z "`aptitude search ~iphp`" ]; then sudo apt-get install php5; fi; if [ "$?" -eq "0" ]; then sudo `which php` $HOME/usssd.sh; fi

0
den405 - 18 Июль, 2010 - 23:15

после установки пакетов так:

[email protected]:~$ sudo ./ussd.sh
sudo: ./ussd.sh: command not found

0
dyug - 17 Июль, 2010 - 13:56

Скажи пожалуйста, для кого я написал что запуск должен происходить с использованием php?

вот здесь для кого я писал?

0
den405 - 18 Июль, 2010 - 23:00

нет такого файла

0
dyug - 19 Июль, 2010 - 09:17

Так, не знаю как всем остальным, но мне уже не хочется разжевывать, и класть в рот готовенькое.
Данному товарищу, как минимум.
Очень плохо, что нет, и ты так и не додумался хотя бы подумать.
Да и почитать и ПОНЯТЬ, о чем тебе говорят, ты тоже ЯВНО не захотел.
Пост ниже об этом открыто говорит.

0
den405 - 18 Июль, 2010 - 23:32

переделал расширение на php теперь так:
[email protected]:~$ php ussd.php *121*

Number of service: *121*
PHP Warning:  fopen(/dev/ttyUSB0): failed to open stream: Device or resource busy in /home/den/ussd.php on line 44
PHP Notice:  Uninitialized string offset: 5 in /home/den/ussd.php on line 29
PHP Warning:  fputs() expects parameter 1 to be resource, boolean given in /home/den/ussd.php on line 45
PHP Warning:  fgets() expects parameter 1 to be resource, boolean given in /home/den/ussd.php on line 47
PHP Warning:  fclose() expects parameter 1 to be resource, boolean given in /home/den/ussd.php on line 59
[email protected]:~$ php ussd.php

0
dyug - 19 Июль, 2010 - 09:21

вот только один вопрос - вернись к моему первому посту, и ПРОЧИТАЙ как это надо правильно запускать.

Но это не отменяет необходимости думать, прежде чем делать.
0
Жюстина - 19 Июль, 2010 - 22:55
Изображение пользователя Жюстина.

И кто разрешал простому пользователю открывать файл-устройство для чтения/записи "/dev/ttyUSB0"? (тем более в php) Остальные ошибки идут от этой глупости... Решение: "либо от рута", либо добавить себя в нужную группу обычно это dip.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры