【发布时间】:2013-12-17 11:13:29
【问题描述】:
我想在 shell script 中调用一个 php 脚本,需要发送 4 个参数。我在 shellscript 中这样调用了那个。
php /var/www/php/myscript.php $var1 $var2 $var3 $var4
但是 php 脚本没有执行。那么向php脚本发送参数并在shellscript中执行脚本的正确方法是什么?
【问题讨论】:
我想在 shell script 中调用一个 php 脚本,需要发送 4 个参数。我在 shellscript 中这样调用了那个。
php /var/www/php/myscript.php $var1 $var2 $var3 $var4
但是 php 脚本没有执行。那么向php脚本发送参数并在shellscript中执行脚本的正确方法是什么?
【问题讨论】:
假设你有一个可执行文件file.sh:
#!/usr/bin/php
<?php
include('your/file.php');
exit;
或与当前环境
#!/usr/bin/env php
<?php
include('your/file.php');
exit;
然后在命令行中执行
$ ./file.sh
【讨论】:
这是示例,请特别注意参数中的引号,以将字符串中的任何字符(如空格或破折号)包裹起来,这些字符可能会影响 args 的读取。
bash.sh
#!/bin/bash
php test.php "$1" "$2"
test.php
<?php
$a = $argv[1];
$b = $argv[2];
echo "arg1 : $a, arg2: $b";
一些输出
$bash bash.sh Hello World
arg1 : Hello, arg2: World
$bash bash.sh Hello
arg1 : Hello, arg2:
$bash bash.sh "Hello World"
arg1 : Hello World, arg2:
希望对你有帮助
【讨论】: