Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Bash v ubuntu nejde správně  (Přečteno 1547 krát)

Fastmancz

  • Návštěvník
  • Příspěvků: 14
Bash v ubuntu nejde správně
« kdy: 21 Května 2014, 10:23:29 »
Dobrý den,
Mám tenhle kód

#!/bin/bash
cd /var/www/html
mkdir $1
chmod -R 0777  $1


Cíl: Přesune se na adresář /var/www/html a vytvoří složku.
Do konzole zadáno:

root@ubuntuserver:/administrace/script# sh userftp.sh mojeslozka
userftp.sh: 2: cd: can't cd to /var/www/html
chmod: nelze přistoupit k „mojeslozka“: Adresář nebo soubor neexistuje


v PHP bude spouštět kód

<?php
$old_path = getcwd();
chdir('/administrace/script/');
$output = shell_exec("./userftp.sh $ftpusr");
chdir($old_path);
?>

Složka se bohužel nevytvoří ani se neudělí práva na danou složku.
Děkuji všem za odpovědi.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Bash v ubuntu nejde správně
« Odpověď #1 kdy: 21 Května 2014, 10:37:04 »
samozrejme ze bash funguje spravne, kde ale nic neni ani smrt nebere, viz:

Kód: [Vybrat]
userftp.sh: 2: cd: can't cd to /var/www/html
chmod: nelze přistoupit k „mojeslozka“: Adresář nebo soubor neexistuje


a take bych doporucoval naucit se php pokud ho chces pouzivat, protoze delat shell_exec() misto phpoveho mkdir() or ftp_mkdir() je *cunarna:

http://www.php.net/manual/en/function.mkdir.php
« Poslední změna: 21 Května 2014, 10:39:47 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

jmp

  • Host
Re:Bash v ubuntu nejde správně
« Odpověď #2 kdy: 21 Května 2014, 10:48:33 »
to nastavení práv je taky něco ošklivého nepěkná zlá věc

Fastmancz

  • Návštěvník
  • Příspěvků: 14
Re:Bash v ubuntu nejde správně
« Odpověď #3 kdy: 21 Května 2014, 10:48:42 »
ty složky ale existují...

Fastmancz

  • Návštěvník
  • Příspěvků: 14
Re:Bash v ubuntu nejde správně
« Odpověď #4 kdy: 21 Května 2014, 10:50:46 »
Já prostě nevím. Prý u ubuntu nefunguje "cd" myšleno v bash .sh. Je tu někdo rozumný, kdo by mi to mohl napsat, protože já s bashem fakt neumím.

Šuohob

  • Závislák
  • ***
  • Příspěvků: 2171
Re:Bash v ubuntu nejde správně
« Odpověď #5 kdy: 21 Května 2014, 12:01:07 »
cd funguje i ve skriptu.
_cokoli_ muzes udelat v comand line, bude fungovat i ve skriptu. Pokud to nefunguje na command line, nepojede to ani ve skriptu...
Tak dlouho se vrzá s Acerem, až se displej utrhne.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Bash v ubuntu nejde správně
« Odpověď #6 kdy: 21 Května 2014, 12:37:30 »
Jen upozornění. bash != sh, v Ubuntu sh -> /bin/dash. Nikdy nespouštěj bash skripty přes příkaz sh, protože pak už je jedno, že je na prvním řádku správný interpret uveden, místo Bashe to zpracuje Dash, jako systémový shell. Ne že by to bylo relevantní k tomuto problému, protože použité příkazy nepatří mezi rozšíření Bashe.

 

Provoz zaštiťuje spolek OpenAlt.