"Miguel Cruz" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> On Wed, 27 Mar 2002, Dalton Hunter wrote:
> > Hi, I am trying to write a file that contains a shell script. The file
> > writes to the server but when I try to execute it it fails with a
> > command not found error. But if I copy and paste the files contents into
> > a new text file using Textpad on my PC and upload it to the same
> > directory it works?! It is not related to permissions as both files are
> > 777 and I am root? The only difference I could tell is when I compare
> > the files in Textpad although the contents are identical, the failed
> > file is slightly larger and has a file type of "Netscape" in the File
> > Properties while the other has a file type of "PC"? Any ideas?
>
> Make sure you use unix-style line endings (just \n and no \r).
>
> Textpad sort of transparently opens files with different line ending
> styles, though it does tell you in one of those little status boxes at the
> bottom - if it's showing DOS or Windows or whatever when you open it, then
> the shell probably won't execute it.
>
> An alternative would be to use text/ASCII (not binary) FTP to transfer it
> to the server. This will automatically fix the line endings.
>
> miguel
>

Hi, thanks for your reply. I should have been a little clearer. The file is
created as a result of a PHP script not in TextPad. I am only comparing them
in Textpad afterward. For example the script contains ...

<?php

// BEGIN PHP SCRIPT THAT GENERATES SHELL SCRIPT

$sbackup = "#!/bin/sh
... multiple line shell script in here ...
";

$backupfile = fopen("/path/to/shell_script","w");
fwrite($backupfile,$sbackup);
fclose($backupfile);
chmod("/path/to/shell_script", 0777);

// END PHP SCRIPT THAT GENERATES SHELL SCRIPT

?>

... and it creates the file fine but when I go to execute the shell script
it returns ...

sh: ./shell_script: No such file or directory

eventhough it is there. If I copy the files contents into a new Texpad
document on my PC and upload to the server it works fine. I tried to add a
\n at the end of each line in the PHP script but no luck. I think it might
have something to do with the line endings.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.343 / Virus Database: 190 - Release Date: 3/22/02



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to