我有一个bash脚本,每天凌晨1点01分在cron中运行bash脚本:
array_of_clients=(2 187 317 927 1863 2993 3077 3440 3444 3457 3459 3469 3484 3487 3494 3497 3522 3544 3551 3553)
for i in "${array_of_clients[@]}"
do
echo "\nRunning Client - $i"
php -f "/mnt/www/bin/scheduled/import_client.php" $i
echo "\nFinished Client - $i"
done
这个问题是我不知道$ i是否作为参数传递给php脚本。难道我做错了什么 ?如果我将$ i放在“”中,它说它无法找到该文件,因为文件名变为/mnt/www/bin/scheduled/import_client.php 2例如
有人可以帮忙吗?
答案 0 :(得分:1)
您可以在预定义的全局变量$argv
中访问PHP脚本中的命令行参数。
在这种情况下,您的$i
将被视为$argv[1]
。
试试这个脚本:
<?php
global $argv;
var_dump($argv);
?>
使用php -f test.php A B C defgh
运行它:
array(5) {
[0]=>
string(8) "test.php"
[1]=>
string(1) "A"
[2]=>
string(1) "B"
[3]=>
string(1) "C"
[4]=>
string(5) "defgh"
}