【发布时间】:2011-02-16 08:44:46
【问题描述】:
我正在编写一个 cPanel postwwwact 脚本,如果您不熟悉该脚本,它会在创建新帐户后运行。它依赖于传递给脚本的用户帐户变量,然后我将其用于各种事情(创建数据库等)。但是,我似乎找不到访问我想要的变量的正确方法。我对 shell 脚本不是很好,所以我很感激一些建议。我在某处读到我想要的值将包含在 $ARGV{'user'} 中,但这只是给出了“root”而不是我需要的值。我试过像这样循环所有参数(list of arguments here):
#!/bin/sh
for var
do
touch /root/testvars/$var
done
我想要的价值就在那里,我只是不确定如何准确定位它。 here 有关于使用 PHP 或 Perl 执行此操作的信息,但我必须将其作为 shell 脚本执行。
编辑理想情况下,我希望能够通过 $1 或 $2 等以外的方式调用变量,因为如果添加或删除参数会产生问题
..例如这里的 PHP 代码:
function argv2array ($argv) {
$opts = array();
$argv0 = array_shift($argv);
while(count($argv)) {
$key = array_shift($argv);
$value = array_shift($argv);
$opts[$key] = $value;
}
return $opts;
}
// allows you to do the following:
$opts = argv2array($argv);
echo $opts[‘user’];
有什么想法吗?
【问题讨论】:
标签: linux bash shell arguments