PHP & bash; Linux; Compile my own function


PHP & bash; Linux; Compile my own function



I would like to make my own program but I have no idea how.. for example I want to make a typical 'Hello $user' program.

So..

├── hi │   ├── hi.sh │   ├── hi_to.sh 

hi.sh

#!/bin/bash ~/hi/hi_to.sh $1  

hi_to.sh

#!/usr/bin/php <?php     echo "\nHellO ".$argv[1]."\n"; ?> 

Run it in terminal:

me:~/hi   → ./hi.sh User  HellO User 

and my question is: how to compile all this files into one bash program?




Cannot press QPushButton in a simple program

1:



Shared objects (.so) static linking and opening other shared object, is the static library code shared between them?


ubuntu: sem_timedwait not waking (C)


linux dot utility (with xhprof)

2:



Do I need JDK or only JRE?
I don't think we understand the question, because you could just call hi_to.sh like this:.
Methods of sending web-generated config files to servers and restarting services
./hi_to.sh user 
And it would run like you want, getting rid of the first sh script..


3:


  1. Make sure the shebang line points to the correct php executable
  2. You don't have to call the script hi.php, just call it hi
  3. Make your script file executable ( e.g.

    via chmod u+x path/to/hi or chmod a+rx path/to/hi, see http://en.wikipedia.org/wiki/Chmod)
  4. Make sure the file is within the search PATH for the user/accounts that are supposed to use your script (without typing the absolute path)


4:


The only way I could see this 'combined' is by using a here-doc, which basically causes the first script to generate the second, then execute it:.
#!/bin/sh  cat << EOF > /tmp/$$.php <?php     \$string="$1";     echo "\nHellO ". 

\$string ."\n"; ?> EOF /usr/bin/php -q /tmp/$$.php retval=$? rm /tmp/$$.php exit $retval
In that example, $1 will expand to the first argument.

I have escaped the other variables (that are related only to PHP), which PHP will expand when it runs.

$$ in a shell script just expands to the PID of the script, the actual temporary file is going to be something like /tmp/1234.php.

mktemp(1) is a much safer way to make a temporary file name that is more resistant to link attacks and collisions.. It also saves the exit status of PHP in retval , which is then returned when the script exits.. The resulting file will look like this (assuming the first argument to the shell script is foo):.
<?php    $string="foo";    echo "\nHello " . 

$string .

"\n"; ?>
This is kind of an icky demonstration for how to use bash to write other scripts, but at least demonstrates that its possible.

Its the only way I could think of to 'combine' (as you indicated) the two scripts that you posted..



82 out of 100 based on 42 user ratings 1342 reviews

*